使用“IF”命令创buildbatch file

我已经创build了一个小批量文件,帮助人们用FFMPEG将MP4video转换为FLV。 一个方法,使我知道使用它的每个人都变得简单。 我认为我input的行对于任何情况都是完美的(将MP4文件转换为FLV),但是几天前,它不适用于文件。 (audio采样为高FLV格式)

我发现在其他代码行的帮助下将其转换,但我不知道如何正确地将它集成到我的batch file中。

有什么我现在使用:

回声“input文件的名称,没有扩展名”:set / p namefile =

echo“input你要给目标文件的名字”:set / p destinationfile =

ffmpeg -i%namefile%.mp4 -c:v libx264 -crf 19%destinationfile%.flv

我想添加一个“IF”。 因为如果这不适用于这一行,请使用这一行:

ffmpeg -i%namefile%.mp4 -c:v libx264 -ar 22050 -crf 28%destinationfile%.flv

我怎样才能做到这一点 ?

非常感谢您的帮助,如果我不清楚的东西,只要告诉我,我会尽我所能说清楚。

谢谢 !

我不确定如果FFMPEG在失败的情况下返回一个标准的错误代码,但是如果是这样的话,可以使用下面的代码:

 ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv if not errorlevel 1 goto Done ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv :Done 

如果这种方法不起作用,您可以检查目标文件的存在以确定进一步的操作:

 ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv if exist %destinationfile%.flv goto Done ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv :Done 

希望这些作品之一。

类似EitanT的第一个解决方案,但不使用GOTO。

 ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv if errorlevel 1 ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv 

要么
编辑代码已被截断,现在全部修复

 ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv||ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv 

类似EitanT的第二个解决方案,但不使用GOTO

 ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv if not exist %destinationfile%.flv ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv