Batch file 带有FFmpeg的Windows批处理,错误处理

Batch file 带有FFmpeg的Windows批处理,错误处理,batch-file,ffmpeg,Batch File,Ffmpeg,首先让我道歉,因为问题可能不清楚!让我解释一下,在一个文件夹中,我有一个批处理文件,每次我想转换一个或多个视频时,我都会将它们放到文件夹中并运行批处理,我想这是大多数人的一般情况,此外,我会在ffmpeg处理文件后(即在for循环中)逐个删除该文件 现在的问题是当ffmpeg由于错误而无法处理文件时,但是当我删除文件时,除了手动检查文件外,我无法知道哪些文件失败 我尝试在批处理中引入errorlevel,但这似乎不适用于ffmpeg if !errorlevel! neq 0 move %%a

首先让我道歉,因为问题可能不清楚!让我解释一下,在一个文件夹中,我有一个批处理文件,每次我想转换一个或多个视频时,我都会将它们放到文件夹中并运行批处理,我想这是大多数人的一般情况,此外,我会在ffmpeg处理文件后(即在for循环中)逐个删除该文件

现在的问题是当ffmpeg由于错误而无法处理文件时,但是当我删除文件时,除了手动检查文件外,我无法知道哪些文件失败

我尝试在批处理中引入errorlevel,但这似乎不适用于ffmpeg

if !errorlevel! neq 0 move %%a ..\ProblemFiles
现在我的问题是:

  • 是否有其他方法可以通过ffmpeg实现上述功能,即。 如果转换时出错,请移动文件
  • 只有在发生错误/警告时,我才能记录错误/警告 以下是伪批处理文件:

    @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 
    
    请提前协助和感谢