Команда Robocopy в Windows 10 борется с немецкими буквами (ü, ä, ö), и chcp для изменения кодовой страницы, по-видимому, не имеет никакого эффекта - PullRequest
0 голосов
/ 30 октября 2019

На моем компьютере с 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 ++)

  • пробуем chcp 65001 для UTF-8 (с одинаковым кодированием .bat и без него)

  • пробуем chcp 2851 дляISO-8859-1, просто для удовольствия ...

Это всегда одно и то же: "ü" запутано.

Конечно, я мог бы просто удалить«ü» из названий папок. Но я хочу иметь чистое решение, а не такой неудачный обходной путь.

Что я мог сделать?

1 Ответ

0 голосов
/ 31 октября 2019

Решение найдено после проведения всевозможных экспериментов (не в последнюю очередь с вдохновением от комментатора JeffRSon):

Рассмотрение

В качестве кодовой страницы, используемой по умолчанию в системе, является кодовая страница 850 (частьиз серии «OEM» кодовых страниц), я подумал, что могу попробовать и сохранить мой .bat файл именно с этой кодировкой.

Реализация

Поскольку я использую Notepad ++ для записиЯ использовал в меню параметр «Кодировать» в Notepad ++, то есть там я выбрал

[Меню] -> Кодировать -> Наборы символов -> Западноевропейский -> OEM 850

(И, конечно, я также удалил команду chcp 1252 из пакета.)

Я не забыл сохранить этот файл впоследствии.

Результат

Сюрприз или нет, система теперь принимает мои командные команды и выполняет их хорошо.

Примечание для новичков (как и я)

Чтобы узнать текущую (по умолчанию) кодовую страницу вашей системы, введите

chcp

в командной строке. Затем он должен вернуть текущее значение, в моем случае: 850.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...