Batch file 带有西班牙口音的文件名é;无法在批处理文件中正确显示

Batch file 带有西班牙口音的文件名é;无法在批处理文件中正确显示,batch-file,escaping,Batch File,Escaping,当运行一个文件名包含西班牙口音的批处理文件时,我注意到它没有正确解码,因此批处理无法运行。我尝试将批处理文件保存为UTF-8、ASCII或UTF-16LE,但没有成功。无论如何,要转义批处理文件中的字符。假设的例子是 在批处理文件中: 重命名XXXéXXX.pdf AAAéAAA.pdf 提前谢谢 您需要使用CHCP 尝试将其中一个添加到批次中: CHCP 852 > NUL CHCP 1250 > NUL CHCP 1252 > NUL CHCP 1145 >

当运行一个文件名包含西班牙口音的批处理文件时,我注意到它没有正确解码,因此批处理无法运行。我尝试将批处理文件保存为UTF-8、ASCII或UTF-16LE,但没有成功。无论如何,要转义批处理文件中的字符。假设的例子是

在批处理文件中:

重命名XXXéXXX.pdf AAAéAAA.pdf


提前谢谢

您需要使用CHCP

尝试将其中一个添加到批次中:

CHCP 852   > NUL
CHCP 1250  > NUL
CHCP 1252  > NUL
CHCP 1145  > NUL    
CHCP 20284 > NUL
最后两个是特别以西班牙为基地的()

CHCP代表“代码页”,您只需要将其放在批处理的开始处


还请注意,批处理始终需要是ASCII

CHCP
是更改代码页的缩写。在没有任何参数的情况下运行
chcp
,将显示活动的代码页。Wikipedia关于的一篇文章解释说,字符是计算机的一系列位,其值为0或1,其中8位构成一个字节,这取决于程序应如何解释字节值的规则。Wikipedia文章about列出了所有代码页,并链接到列出文档代码页字符的页面。顺便说一句,如果我手动将字符串复制到cmd窗口并执行它,它工作得很好。这确实有效!!!非常感谢!这是我为修复它所做的。我的文本文件是从SAS输出的。在玩弄了各种各样的编码之后,我终于找到了一种效果最好的。编码=ANYANSI。在此之后,我不得不使用上面列出的各种代码页。最好的是1252,因为它不仅容纳一个`,而且还容纳构成西班牙语口音的~以上字母。我在批处理文件中这样做:chcp1252>NULL(然后在下一行是调用pdf工具的代码,等等)。再次感谢你的帮助!“批处理总是需要ASCII”:
echo-不,它不是ASCII直到很晚才成为一个单独的代码页。请参阅和。的可能重复项