windows 的单个输入变量发送到 .bat
Single input variable for windows send to .bat
我想通过 ffmpeg 获取 framemd5,方法是右键单击一个文件,选择 "send to",然后选择 my.bat 文件。
使用它可以让我为目录中的每个文件制作 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 文件放在一个文件中,即我右击开始的那个文件。我不知道该用哪个变量。
Send-To 命令(在您的案例中是批处理文件)接收所选文件作为命令行参数,可以在批处理文件中使用 %1
、%2
、%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
我想通过 ffmpeg 获取 framemd5,方法是右键单击一个文件,选择 "send to",然后选择 my.bat 文件。
使用它可以让我为目录中的每个文件制作 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 文件放在一个文件中,即我右击开始的那个文件。我不知道该用哪个变量。
Send-To 命令(在您的案例中是批处理文件)接收所选文件作为命令行参数,可以在批处理文件中使用 %1
、%2
、%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