2016-03-03 43 views
0

我正在放置一个bat文件,但我不确定这是否可能。
我试图搜索文件夹中的所有mkv文件以获得嵌入式英文字幕并进行相应回显。
无论是否有英文字母,我都会得到echo "%%a" doesn't have English subs.
这是可能的还是我只是在浪费时间?批处理文件与mkvmerge给出错误的输出

for %%a in (*.mkv) do (
for /f %%b in ("C:/Program Files/MKVToolNix/mkvmerge.exe" -I "%%a" ^| find /c /i "language:eng") do (
    if [%%b]==[1] (
     echo "%%a" has English subs. 
    ) else (
     echo "%%a" doesn't have English subs. 
     echo. 
    ) 
) 
) 

回答

0

变化

for /f %%b in ("C:/Program Files/MKVToolNix/mkvmerge.exe" -I "%%a" ^| find /c /i "language:eng") do (

for /f %%b in ('"C:\Program Files\MKVToolNix\mkvmerge.exe" -I "%%a" ^| find /c /i "language:eng"') do (

(注意"改变为'

(注意也 - \是目录分隔; /是开关)

for /? 

从文档提示。

+0

感谢您的回复!事实证明''C:\ Program'不被识别为内部或外部命令'。 – Jon

+0

@Jon - 一对'''失踪了;我把它们加回来了。 – SomethingDark

+0

@SomethingDark - 谢谢你!还是一样的问题,只要我涉及'''它就打破了。为什么不能像我在其他脚本中看到的那样使用'mkvmerge'而不是给出程序的完整路径? – Jon

相关问题