当我尝试使用单引号获取批处理文件中命令的输出时,我收到以下信息:
C:>for /f "tokens=2 delims=:." %a 在 ('chcp') 中执行 (echo %a)
‘chcp’ 不被识别为内部或外部命令,也不是可运行程序或批处理文件。
可以直接从同一位置运行此命令:
C:> chcp
活动代码页:437
我已经检查了环境变量,它们似乎设置正确。当我使用“dir”而不是“chcp”时,也会出现上述问题。
有什么想法可能是什么原因造成的以及如何解决?
操作系统:WIN 10
答案1
如您所见,您的 ComSpec 环境变量包含两个值:C:\Windows\system32\cmd.exe;C:\Windows\SysWOW64\cmd.exe
。这会导致for /f
命令在尝试找出如何找到 时阻塞chcp
。
将 ComSpec 环境变量更改为典型值C:\Windows\system32\cmd.exe
将使该for /
机制起作用。
你并不孤单: