gpt4 book ai didi

command-line - 在批处理文件的输入文件中使用 "En Dash"

转载 作者:行者123 更新时间:2023-12-04 00:47:26 26 4
gpt4 key购买 nike

最可悲的是,我得到了几个带有破折号的 TFS 团队项目。

如果您不熟悉短划线,请打开 MS Word 并输入 alt+8211。

您会看到一个看起来更大的破折号。 (如果它为您呈现,就像这样:-)。如果你打开记事本,你会看到一个?如果你在大多数 Unicode 编辑器中尝试它,你会看到 ‼。

但我需要它是一个破折号。因为我需要针对我的所有项目运行一个批处理文件。项目的路径现在有这个破折号。

我制作了一个包含项目名称的文件,并将它们提供给我的批处理文件。

但是当它运行时,它会用 û 代替 –。

我可以做些什么来保持我的破折号?

注意:我有两个批处理文件。第一个使用文件中的参数运行第二个。

我的第一个可以是seen here .第二个可以是 seen here .输入文件的示例可以是 seen here .

最佳答案

破折号字符是 Unicode 代码点 U+2013。在 Windows 代码页 1252 中,它是字符编号 150。û 字符是代码页 437 中的字符编号 150。因此看起来一个进程正在代码页 1252 中写入文件,而另一个进程正在使用代码页 437 读取文件。

理想情况下,除了 Unicode 之外的所有代码页都应该与世界大战、天花和其他 20 世纪的遗物一起被丢弃。不幸的是,Windows 控制台使这变得相当困难。

由于代码页 437 是大多数 Windows 安装的默认控制台代码页,我怀疑是这个默认设置导致了这些问题。 (文件名由操作系统以 Unicode 存储,因此至少这部分是正确的。)由于代码页 437 不包含破折号字符,因此使用该代码页的任何系统都必须求助于回退机制来呈现文件名,例如问号。

通过将控制台代码页更改为支持破折号字符的内容(例如 1252),可以更正此问题。

您可以使用以下命令更改此代码页。

chcp 1252

这个命令应该放在批处理文件的开头。

这是一个可怕的 hack,在您可以将系统转换为从上到下支持 Unicode 的现代系统之前,这是必要的。

您可能还想在 Powershell 中尝试一下,因为 PS 确实支持 Unicode。

关于command-line - 在批处理文件的输入文件中使用 "En Dash",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970935/

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