Windows的单个输入变量发送到.bat

时间:2015-07-26 10:58:04

标签: windows batch-file ffmpeg right-click

我想通过右键单击文件,选择“发送到”,然后选择my.bat文件,通过ffmpeg获取framemd5。

使用它可以让我为目录中的每个文件制作framemd5s:

for %%a in ("*.*") do C:\Users\bla\Downloads\avanti-092\Avanti-ffmpeg-GUI-092\ffmpeg\ffmpeg-20150513-git-51f6455-win64-static\ffmpeg-20150513-git-51f6455-win64-static\bin\ffmpeg.exe -i "%%a" -f framemd5 "%%~na.framemd5"pause

我想在一个文件上运行bat文件,我右键单击该文件开始。我不知道要使用哪个变量。

1 个答案:

答案 0 :(得分:1)

发送到命令(在您的情况下为批处理文件)接收所选文件作为命令行参数,可以使用%2,{{1}的批处理文件访问该文件。 },%3等等。 %0是批处理文件本身的(路径)。输入call /?以获取更多信息。

要将其应用于单个文件,请使用%1。此语法支持~修饰符,如for个变量。例如,%~1删除了周围的双引号,%~n1仅提取文件名。

对于批处理文件,实际上不需要for命令(仅执行一次迭代)。

因此,以下内容应该有效:

C:\Users\bla\Downloads\avanti-092\Avanti-ffmpeg-GUI-092\ffmpeg\ffmpeg-20150513-git-51f6455-win64-static\ffmpeg-20150513-git-51f6455-win64-static\bin\ffmpeg.exe -i "%~1" -f framemd5 "%~n1.framemd5" & pause