Удаление входного файла после ручного торможения в batch-файле
Я написал этот код для HandBrakeCLI в виде командного файла для управления моими видео. Этот код создает выходные файлы с именем входного файла и суффиксом _conv.
for /R .\test %%F in (*.mov) do HandBrakeCLI -e x264 --x264-preset medium -q 35 --crop 0:0:0:0 --aencoder copy -i "%%~fF" -o "%%~pF%%~nF_conv.mp4
Затем я хочу удалить исходный файл, а затем удалить _conv часть выходного файла. Что следует добавить в код выше?
Я хочу удалить каждый файл сразу после его преобразования или, по крайней мере, при переходе от содержащей его папки к другой папке, а не полностью после преобразования всего файла (поскольку необходимо преобразовать множество файлов, и у меня может закончиться свободное место)
Кстати, а как добавить в код другие форматы, кроме *.mov?
1 ответ
for /R .\test %%F in (*.mov) do (
HandBrakeCLI -e x264 --x264-preset medium -q 35 --crop 0:0:0:0 --aencoder copy -i "%%~fF" -o "%%~dpF%%~nF_conv.mp4"
if exist "%%~dpF%%~nF_conv.mp4" (
del "%%~fF"
ren "%%~dpF%%~nF_conv.mp4" "%%~nxF"
)
)
Вся информация внутри вашего исходного кода. Все, что нужно, это заключить набор команд в круглые скобки, чтобы три команды выполнялись для каждого из входных файлов. Кроме того, дополнительный if
был включен для удаления исходного файла, только если преобразованный файл существует.