Windows 10中的Robocopy命令在使用德语字母(ü,ä,ö)和chcp更改代码页时遇到了麻烦,显然没有任何作用

时间:2019-10-30 10:15:29

标签: windows robocopy codepages

在Windows 10计算机上,我试图运行“ robocopy”命令(来自.bat文件)来备份文件。

一切都很好,只要路径(到要备份的文件夹)中不包含ö,ü,ä之类的字母即可,因为这在德国环境中是不可避免的。

以前我可以通过发送

来解决此问题
chcp 1252
首先使用

命令,以便命令提示符窗口在具有这些字符的代码页1252上运行。但这当时在Windows 7计算机上。 (此系统上的默认代码页为850。这是一个较大的机构网络,我没有管理员访问权限。)

现在,对于Windows 10机器,这对我无效。代码页设置为1252(至少是当您询问“ chcp”时返回的内容),但robocopy命令仍然无法运行。

这是我的robocopy命令:

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

运行此命令时,“Notizbücher”中的“ü”总是被弄乱,当然,由于计算机找不到(混乱的)地址,因此无法运行该命令。

我尝试了各种事情

  • 先发送chcp 1252

  • 确保将保存代码的.bat文件编码为Windows-1252(我使用的是Notepad ++)

  • 尝试针对UTF-8的chcp 65001(使用和不使用.bat文件进行类似编码)

  • 尝试chcp 2851 for ISO-8859-1,只是为了好玩...

总是一样的:“ü”被弄乱了。

我当然可以从文件夹名称中删除“ü”。但是我想要一个干净的解决方案,而不是一个such脚的解决方法。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

经过各种实验后发现的解决方案(尤其是来自评论者JeffRSon的启发):

注意事项

由于系统默认使用的代码页是Code Page 850(“ OEM”系列代码页的一部分),我想我可以尝试一下,并使用完全相同的编码保存.bat文件。 / p>

实施

当我使用Notepad ++进行书写时,我在菜单中使用了Notepad ++的“编码”选项,即我在此处选择了

  

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

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

我没有忘记以后保存此文件。

结果

是否感到惊讶,系统现在接受我的批处理命令并很好地执行它们。

新手注意(像我一样)

要找出系统当前(默认)的代码页是什么,请输入

chcp

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