Пакетный файл: манипулирование filepath
Я пытаюсь создать небольшой скрипт для преобразования видео в окнах с помощью меню "Отправить". Для этого я хочу создать новое имя файла из входного. Но я не могу объединить строки.
Следуя синтаксису, найденному здесь, я написал этот фрагмент кода:
@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 ответ
Решение
@echo Input:
@echo %1
set outputfile="%~1.MP4"
@echo %outputfile%
удалить предыдущее использование расширения
set outputfile="%~n1.MP4"
если вы не используете пути или
set outputfile="%~dpn1.MP4"
(имя будет преобразовано в полный путь)