bat批处理脚本控制台窗口提示The system cannot write to the specified device.的问题解决方案

如题,bat文件的文本编码为UTF-8,当脚本中字符包含中文等时,在简体中文Windows上运行会乱码。为了解决这个问题,需要在bat开头加一行chcp 95001,以修改控制台窗口当前代码页与我们的bat文本编码一致,才不会乱码。

但这样还没完,进行上述修改后尝试运行,会发现控制台有如图报错:
问题现象
这是因为在UTF-8下,控制台窗口默认的点阵字体并不支持中文显示。因此我们需要在窗口标题栏上右键属性,将字体由点阵字体改为TrueType字体(例如Consolas),这样就能正确显示中文了!

解决方案
或者,如果不方便这样修改的话,那就把bat文本编码改为GBK,然后在开头加一行chcp 936,这样在简体中文Windows下无需设置就能正常显示了。

https://devblogs.microsoft.com/commandline/understanding-windows-console-host-settings/

猜你喜欢

转载自blog.csdn.net/yakamoz423/article/details/129384442