Batch file DOS中非典型字符的混淆

Batch file DOS中非典型字符的混淆,batch-file,dos,Batch File,Dos,命令行程序输出文件路径列表。我将输出通过管道传输到另一个程序进行进一步处理。在遇到包含“奇怪”字符(ó、î、ä等)的文件路径之前,这一切都可以正常工作 问题的原因似乎是下面描述的行为: 测试1 在cmd.exe中执行此命令时 C:\temp> echo ó > o.txt 创建文件的内容将是字符× 测试2 我创建了一个输入文件o_src.txt(使用我的文本编辑器),其中包含字符ó 命令 C:\temp> type o_src.txt C:\temp> type o_

命令行程序输出文件路径列表。我将输出通过管道传输到另一个程序进行进一步处理。在遇到包含“奇怪”字符(ó、î、ä等)的文件路径之前,这一切都可以正常工作

问题的原因似乎是下面描述的行为:

测试1 在cmd.exe中执行此命令时

C:\temp> echo ó > o.txt
创建文件的内容将是字符×

测试2 我创建了一个输入文件o_src.txt(使用我的文本编辑器),其中包含字符ó

命令

C:\temp> type o_src.txt
C:\temp> type o_src.txt > o_dst.txt
将在cmd.exe中打印此字符 ¾

如果我执行

C:\temp>type o.txt
(测试1中的o.txt)结果为

测试3 执行命令后

C:\temp> type o_src.txt
C:\temp> type o_src.txt > o_dst.txt
那么o_src.txt和o_dst.txt的内容是相同的

这是怎么回事

ASCII码:F3/243
ASCII码×:A2/162

¾的ASCII代码:BE/190

我认为您需要使用
CHCP
更改代码页。查看这些问题了解更多信息


在大多数情况下,将代码页更改为1252是一个不错的选择。谢谢。我在批处理文件的顶部添加了chcp1252,现在它可以工作了。