我很难获取在For循环中运行的命令。从命令提示符这工作得很好:批处理 - 在For循环内重定向时出现问题
"C:\Program Files (x86)\MakeMKV\makemkvcon64.exe" -r info | find "E:"
但是,下面好像有语法问题
for /f "tokens=1-7 delims=," %%A in ('"C:\Program Files (x86)\MakeMKV\makemkvcon64.exe" ^-r info ^| find "E:"') do (set _DRVID=%%A)
屈服的错误 - C:\Program' is not recognized as an internal or external command, operable program or batch file.
仅供参考,我找到了一种方法得到我想要的结果与以下内容: 我可以得到以下代码在批处理以及生成所需的输出:
for /f "tokens=1-7 delims=," %%A in ('"C:\Program Files (x86)\MakeMKV\makemkvcon64.exe" ^-r info') do (IF %%G=="E:" set _DRVID=%%A)
我在做什么错?
我在代码中看不到任何重定向。 – Squashman
它真的是'^ -r',还是它是一个错字,应该读'-r'?没有必要逃脱' - '... – aschipfl
@Squashman,那管道呢?你不认为如重定向? – aschipfl