我可以使用标准Windows CMD shell中的&&
连接在同一行上运行两个命令:
"C:\Program Files (x86)\ffmpeg\ffmpeg.exe" -i "%1" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 "%1".mp3 && DEL /Q "%1"
但是当我将代码插入相应的RegEdit位置时,相同的代码行崩溃,例如:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\foobar2000.exe\shell\mp3\command]
@="\"C:\\Program Files (x86)\\ffmpeg\\ffmpeg.exe\" -i \"%1\" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 \"%1\".mp3 && DEL /Q \"%1\" "
虽然它在我添加尾随&&
子句之前工作正常。您可以通过右键单击上下文菜单项来运行它。
有没有办法在不创建额外的BAT / CMD文件的情况下实现此目的。我尝试在整行上放置( )
括号,但它似乎改变了范围,不再找到输入文件。
答案 0 :(得分:1)
&&
中执行的被识别为命令分隔符,但在注册表中可以将其视为litteral参数"&&"
。也许以下可以提供帮助
%ComSpec% /C """C:\Program Files (x86)\ffmpeg\ffmpeg.exe"" -i ""%1"" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 ""%1"".mp3 && DEL /Q ""%1"" "
编辑:从评论更新
CMD /C ("C:\Program Files (x86)\ffmpeg\ffmpeg.exe" -i "%1" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 "%1".mp3 && DEL /Q "%1")