Я хочу работать с неанглийскими именами файлов в CMD (командная строка), такими как создание папки с именами или удаление нескольких файлов, имена которых не являются английскими. Как я могу работать с этими именами?
2 ответа
Этот вопрос задавался в stackoverflow здесь и здесь.
Резюме
Измените свою кодовую страницу на UTF-8 с
chcp 65001
в вашем пакетном файле или сеансе CMD.
Запустите CMD с
CMD /u
чтобы CMD перенаправлял файлы в UTF-16, Little Endian.
Windows различает отображаемый текст и перенаправленный текст в файл.Для просмотра символов Unicode в окне CMD вам необходимо использовать Lucida Console или Consolas в качестве шрифта вместо Raster Font. Или некоторые символы Unicode отображаются искаженными.
Я бы попробовал chcp 1256
для арабского ANSI. Он не будет отображать правильные символы, потому что Windows 1256 не является частью WGL4, которая поддерживается Lucida Console, но на самом деле может работать, например, создавать правильные имена файлов и т.д.
Если вам нужно отобразить символы, вам нужно сначала найти поддерживаемый шрифт. Это долгий путь , но вы можете конвертировать Unifont в моноширинный шрифт с помощью этого скрипта Python. Когда вы установите измененный шрифт, он появится в списке шрифтов cmd.exe
. Попробуйте это с chcp 65001
.
Я сделал это по другой причине, и это сработало для меня.