Batch file 带有FFmpeg的Windows批处理,错误处理
首先让我道歉,因为问题可能不清楚!让我解释一下,在一个文件夹中,我有一个批处理文件,每次我想转换一个或多个视频时,我都会将它们放到文件夹中并运行批处理,我想这是大多数人的一般情况,此外,我会在ffmpeg处理文件后(即在for循环中)逐个删除该文件 现在的问题是当ffmpeg由于错误而无法处理文件时,但是当我删除文件时,除了手动检查文件外,我无法知道哪些文件失败 我尝试在批处理中引入errorlevel,但这似乎不适用于ffmpegBatch file 带有FFmpeg的Windows批处理,错误处理,batch-file,ffmpeg,Batch File,Ffmpeg,首先让我道歉,因为问题可能不清楚!让我解释一下,在一个文件夹中,我有一个批处理文件,每次我想转换一个或多个视频时,我都会将它们放到文件夹中并运行批处理,我想这是大多数人的一般情况,此外,我会在ffmpeg处理文件后(即在for循环中)逐个删除该文件 现在的问题是当ffmpeg由于错误而无法处理文件时,但是当我删除文件时,除了手动检查文件外,我无法知道哪些文件失败 我尝试在批处理中引入errorlevel,但这似乎不适用于ffmpeg if !errorlevel! neq 0 move %%a
if !errorlevel! neq 0 move %%a ..\ProblemFiles
现在我的问题是:
@echo off
echo -------------------------------------------------------------------------------->> ..\Log.txt
echo Batch Started at %time% >> ..\Log.txt
for %%G in (.mp4, .mov) do ( echo %%G
for /f "delims=" %%a in ('forfiles /s /m *%%G /c "cmd /c echo @relpath"') do (
echo Original file MediaInfo : >> ..\Log.txt
"C:\utils\MediaInfo.exe" --Output=file://"C:\utils\custom.template" "%%a" >> ..\Log.txt
ffmpeg.exe -y -hide_banner -i "%%a" ...... "..\Output\%%~na_Out.mp4"
echo Converted file MediaInfo : >> ..\Log.txt
"C:\utils\MediaInfo.exe" --Output=file://"C:\utils\custom.template" "..\Output\%%~na_Out.mp4" >> ..\Log.txt
timeout 10
echo Deleting File : "%%a" >> ..\Log.txt
del "%%a"
echo ------------------------------------------->> ..\Log.txt
)
)
echo Batch completed at %time% >> ..\Log.txt
echo -------------------------------------------------------------------------------->> ..\Log.txt
请提前协助和感谢