gpt4 book ai didi

windows - 为什么 Windows 命令提示符与批处理文件的编码之间存在差异?

转载 作者:可可西里 更新时间:2023-11-01 12:43:29 25 4
gpt4 key购买 nike

例如,假设我有一个名为 'test.cmd' 的批处理文件,它仅包含:

echo %1

我可以使用 'test.cmd some¬arg' 直接从命令提示符调用它,结果是打印字符串 'some¬arg'

但是,如果我将相同的调用放在第二个批处理文件中,为了参数调用 'tester.cmd',并且我从命令提示符调用它,结果是字符串 'some%arg' 被打印出来。

是什么扰乱了编码,我该如何解决?我确信我之前已经解决了这个问题,但我不记得如何...

谢谢!

最佳答案

这是因为您的批处理文件编码在不同于 cmd.exe 当前所在的代码页中。

在西方默认配置中,cmd.exe 开始于 CP850 , 但文本编辑器通常在 CP1252 中工作(通常被错误地称为 Latin-1 或 ISO-8859-1)。

字符“¬”和“¼”在这两个代码页中共享相同的字符代码“BC”。

解决方法很简单。在代码页 850 中对批处理文件进行编码,或者通过发出 chcp 1252 将 cmd.exe 切换到代码页 1252。

关于windows - 为什么 Windows 命令提示符与批处理文件的编码之间存在差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/252970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com