在批处理文件中手刹后删除输入文件

deleting the input file after handbraking in batch-file

我为 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)

中的 20=]

对了,请问代码中除了*.mov之外,如何添加其他格式呢?

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,以便仅在转换后的文件存在时才删除源文件。