我为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之外的其他格式?
答案 0 :(得分: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"
)
)
所有信息都在原始代码中。所需要的只是将命令集包装在括号中,以便为每个输入文件执行三个命令。此外,如果转换后的文件存在,则包含aditional if
仅删除源文件。