这个问题基本上解释了问题所在。
我正在使用 Windows XP Pro Service Pack 3
ComSpec=C:\WINDOWS\system32\cmd.exe
我通过开始菜单... 运行对话框... cmd.exe 启动控制台
这是我的控制台的“视图”:
命令,然后是输出(以及我的 // 注释)
C:\> chcp 850
Active code page: 850
// output is as expected
C:\> echo @chcp ^& REM 850>test850.cmd
// no output; as ecpected)
C:\> type test850.cmd
@chcp & REM 850
// output is as expected
C:\> call test850.cmd
Active code page: 850
// output is as expected
上述内容在Windows环境下运行良好(如预期)。 但是,当我切换到代码页65001时,“调用”失败了。
C:\> chcp 65001
Active code page: 65001
// output is as expected
C:\> echo @chcp ^& REM 65001>test65001.cmd
// no output; as ecpected
C:\> type test65001.cmd
@chcp & REM 65001
// output is as expected
C:\> call test65001.cmd
// NO OUTPUT, NO ERROR, NO ANYTHING, NADA... other than frustration :)
这里发生了什么(没有发生)?