具有非ASCII字符的批处理文件

时间:2016-03-23 14:16:34

标签: batch-file

我需要链接到批处理脚本中包含字符“æ”的文件夹。

我运行脚本时遇到了麻烦。命令提示符误读了非ASCII字符。我已经尝试将文件保存为ANSI和Unicode。我正在运行Windows 7。

这是一个最小的例子:

echo øl

2 个答案:

答案 0 :(得分:4)

控制台窗口中默认使用 ANSI Unicode 。默认情况下,Windows用于控制台 OEM 代码页。

使用哪个 OEM 代码页取决于Windows区域和语言设置。对于美国和加拿大,默认OEM代码页为437,对于西欧国家/地区,默认代码页为850

对于美国,加拿大和西欧国家,GUI窗口中的非Unicode代码页为Windows-1252

字符æ在代码页Windows-1252以及Unicode表中具有十进制代码值 230 (十六进制.E6)。但在OEM代码页437和850中,此字符的十进制代码值为 145 (十六进制91)。

因此,您需要使用SomethingDark建议的方法将此字符插入批处理文件,或者使用相应的OEM代码页直接在文本编辑器中编辑批处理文件。

我使用UltraEdit编辑文本文件。我已经将UltraEdit配置为自动使用系统定义的OEM代码页(在我的情况下为代码页850),用于扩展名为BAT和CMD的文件,并将所有其他非Unicode文本文件用于GUI窗口的系统代码页(代码页1252)在我的情况下)。 UltraEdit还可以在将例如在浏览器中复制的文本粘贴到批处理文件中时,从Unicode或Windows-1252到OEM代码页850进行必要的转换。 UltraEdit还将OEM编码字符从850转换为1252,并将批处理文件中的选定文本复制到剪贴板。

要在控制台窗口中查找计算机上使用的OEM代码页,请打开命令提示符窗口并运行命令chcpmode con

答案 1 :(得分:0)

我使用记事本++。选择第一个编码(例如OEM 850)并正常输入。