Windows 10 cmd提示:路径中不能使用德语u-Umlaut(ü),而且奇怪的是更改代码页不起作用

Windows 10 cmd提示:路径中不能使用德语u-Umlaut(ü),而且奇怪的是更改代码页不起作用

在我的 Windows 10 机器上,我尝试运行“robocopy”命令来备份文件。

只要路径(到备份文件夹)不包含像 ö、ü、ä 这样的字母,一切都会很好,因为这是德国环境,所以这都是不可避免的。

之前我可以通过发送

chcp 1252

命令,这样命令提示符窗口就可以在包含这些字符的代码页 1252 上运行。但当时这是在 Windows 7 计算机上。

现在,对于 Windows 10 计算机,这对我来说不起作用。
代码页被证明设置为 1252,但robocopy命令仍然无法运行。
(顺便说一下,该系统的默认代码页是 850。)

robocopy C:\Users\Myself\Documents\Notizbücher ^
  Y:\RobocopyBackups\001_NotizbücherBackup /e /mir /np /z /tee ^
    /log:Y:\RobocopyBackups\001_Backup_log.txt

当我运行这个时,"ü"总是会变得混乱,并且由于计算机找不到(混乱的)地址,因此无法运行命令。

我尝试了各种各样的方法

  • 先发送chcp 1252

  • 确保我保存代码的 .bat 文件编码为 Windows-1252

  • chcp 65001对于 UTF-8(对 .bat 文件进行和不进行类似编码)

  • chcp 2851对于 ISO-8859-1,只是为了好玩......

总是一样的:"ü"变得混乱。

当然,我也可以删除"ü"从文件夹名称中。但我希望有一个干净的解决方案,而不是这种蹩脚的解决方法。

我能做什么?
注意:我正在使用 Notepad++

答案1

经过各种实验找到了解决方案:

理论

由于系统默认使用的代码页是代码页 850(“OEM”系列代码页的一部分),我决定尝试一下,使用完全相同的编码保存我的 .bat 文件

实践

由于我使用 Notepad++ 进行写作,因此我使用了菜单中的 Notepad++ 的“编码”选项,并在那里进行了选择

[菜单] -> 编码 --> 字符集 --> 西欧 --> OEM 850

(当然,我还从批处理中删除了 chcp 1252 命令。)

结果

无论是否令人惊讶,系统现在接受我的批处理命令,包括德语变音符号(ö,ä ü)。

新手注意事项(像我一样)

要了解系统当前(默认)的代码页,请输入

chcp

进入命令提示符。然后它应该返回当前值,在我的情况下是:850。

相关内容