我在尝试更改 .bat 文件中的代码页时遇到一个奇怪的问题。
当我在 Windows 7 中执行以下 .bat 文件时,它执行正常。
代码页被更改,program.exe
被执行。
批处理文件:
chcp 65001
"D:\program.exe" /opt ÄiÜ
pause
但是,当我从 Windows Vista 启动 .bat 文件时,代码页发生更改,之后批处理文件退出。
所以 program.exe
永远不会被执行。
但是,当我从命令行手动运行这两个命令时,它确实有效。
知道如何通过 .bat 文件让它在 Windows Vista 下工作吗?
最佳答案
这对我来说是新的,这适用于 Win7,在 Vista 和 XP 中,如果代码页更改为 65001,批处理文件不起作用是正常的。
但是你可以使用变通办法
(
chcp 65001
cmd /c type myFile.txt
chcp 850
)
echo the batch is still alive
这是有效的,因为在更改代码页时缓存了完整的 block 。
在你的情况下(使用德语变音符号)你最好使用代码页 1252
chcp 1252
echo ÄÖÜß
关于windows - 更改 .bat 文件中的代码页(Win7 与 Win Vista),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7737599/