2015-01-29 4 views
0

Я написал этот код для 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 часть выходного файла. Что следует добавить в код выше?

Я хочу удалить каждый файл сразу после его преобразования или, по крайней мере, перейдя из его папки в другую папку, а не полностью после преобразования всего файла (потому что много файлов необходимо преобразовать, и я могу закончиться space)

Кстати, как я могу добавить другие форматы в дополнение к * .mov в коде?

ответ

2
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 был включен только для удаления исходного файла, если существует преобразованный файл.

+0

Я бы тестировал 'if! Errorlevel! equ 0, если существует "%% ~ dpF %% ~ nF_conv.mp4" ('с предположением, что' HandBrakeCLI' правильно возвращает коды ошибок ... Может быть полезно? – JosefZ

+1

@Josefz, если ручной тормоз повышает уровень ошибок при сбое (нет, у меня нет программного обеспечения под рукой для тестирования), лучше использовать 'if not errorlevel 1' (который не требует отсроченного расширения вашего кода) или использовать условное выполнение остальных команд, и в обоих случаях случаях, удалите тест на существование файла (или если вы как параноид, как i, лучше сохраните его). –

+0

файл преобразован. Исходный файл удален. Но выходной файл не был переименован. –