在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脚的解决方法。
我该怎么办?
答案 0 :(得分:0)
经过各种实验后发现的解决方案(尤其是来自评论者JeffRSon的启发):
由于系统默认使用的代码页是Code Page 850(“ OEM”系列代码页的一部分),我想我可以尝试一下,并使用完全相同的编码保存.bat文件。 / p>
当我使用Notepad ++进行书写时,我在菜单中使用了Notepad ++的“编码”选项,即我在此处选择了
[菜单]->编码->字符集->西欧-> OEM 850
(当然,我还从批处理中删除了chcp 1252命令。)
我没有忘记以后保存此文件。
是否感到惊讶,系统现在接受我的批处理命令并很好地执行它们。
要找出系统当前(默认)的代码页是什么,请输入
chcp
进入命令提示符。然后,在我的情况下,它应该返回当前值:850。