我是整个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
答案 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文件进行编码,并在成功后删除源文件。