Я пытаюсь создать командный файл, в который можно перетаскивать другие файлы. В частности, я использую ffmpeg для редактирования аудиофайлов, созданных портативным диктофоном. Проблема заключается в использовании имен файлов с амперсандами (&).Даже при цитировании ввода все, что находится после &, сбрасывается, но только тогда, когда на него перетаскиваются файлы; если имя файла вводится в командной строке, сценарий работает нормально. Перед закрытием окна cmd
я на короткое время вижу остальную часть имени файла с ошибкой, говорящей, что она не распознается как допустимая команда.
Вот мой сценарий:
rem Change to drive and directory of input file %~d1 cd %~p1 rem ffmpeg: mix to one channel, double the volume %HOMEDRIVE%%HOMEPATH%\ffmpeg.exe -i "%~nx1" -ac 1 -vol 1024 "%~n1 fixed%~x1" pause
Вот что появляется в командной строке после удаления «ch17 & 18.mp3»
:
C:\Users\computergeeksjw\Desktop>C:\Users\computergeeksjw\ffmpeg.exe -i "ch17" -ac 1 -vol 1024 "ch17 fixed" [...] ch17: No such file or directory
В случае, если это важно: я использую Windows 8 Developer Preview. Это вызывает мою проблему? Такая же ошибка возникает в Windows 7 или более ранних версиях?