在我的 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。