Пакетный файл: манипуляция с filepath - PullRequest
0 голосов
/ 30 марта 2012

Я пытаюсь создать небольшой скрипт для преобразования видео в окнах с помощью меню «Отправить». Для этого я хочу создать новое имя файла из входного. Но я не могу объединить строки.

Следуя синтаксису найденному здесь , я написал этот фрагмент кода:

@echo Input:
@echo %1
set "outputfile=%1%.MP4"
@echo %outputfile%

Но у меня проблема с кавычками в выходном файле:

Input:
"D:\this is a test\MVI_7754.AVI"

D:\this is a test>set "outputfile="D:\this is a test\MVI_7754.AVI".MP4"
"D:\this is a test\MVI_7754.AVI".MP4

Я ожидаю, что расширение внутри кавычек, а не снаружи!

Может кто-нибудь сказать мне, как я могу объединить имя файла и расширение? Спасибо!

1 Ответ

3 голосов
/ 30 марта 2012
@echo Input:
@echo %1
set outputfile="%~1.MP4"
@echo %outputfile%

чтобы удалить предыдущее расширение использовать

set outputfile="%~n1.MP4"

если вы не используете пути или

set outputfile="%~dpn1.MP4"

(имя будет преобразовано в полный путь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...