转换后需要脚本删除,ffmpeg

时间:2017-02-05 18:26:47

标签: batch-file ffmpeg

我是整个CMD场景的处女。我真的可以使用一些帮助。 我只想在转换后删除该文件。 以下是我到目前为止的情况: 更新:我想过如何在转换后删除,但是在转换完所有内容后,我想删除每个转换后的文件...

dir/b/s *.mkv >mkvlist.txt
for /F "delims=;" %%F in (mkvlist.txt) do ffmpeg.exe  -i "%%F" -vcodec copy -acodec copy "%%~dF%%~pF%%~nF.mp4"
del mkvlist.txt del *.mkv

2 个答案:

答案 0 :(得分:4)

不需要临时文件。只需使用递归for命令,对于找到的每个文件,如果输出文件存在且未报告错误,则将其转换并删除源

for /r %%F in (*.mkv) do (
    ffmpeg.exe  -i "%%F" -vcodec copy -acodec copy "%%~dpnF.mp4"
    if not errorlevel 1 if exist "%%~dpnF.mp4" del /q "%%F"
)

答案 1 :(得分:0)

如果先前成功完成,CMD使用&& chars运行命令。例如,我使用以下

for %i in (*.avi) do ffmpeg -sn -y -i "%i" -c:v libx265 -c:a aac "%~ni.mp4" && del /f/q "%i"

对文件夹中的所有avi文件进行编码,并在成功后删除源文件。