Как передать окна "dir" в кодовую страницу ANSI

это относится как к Windows XP, так и к Windows 7.

некоторые из моих файлов имеют имена с европейскими символами, например немецкий a-umlaut, также известный как A-diaeresis.

они отображаются правильно в Проводнике Windows, а также в командной консоли (cmd.окне exe) в ответ на команду "dir".

однако, если эта команда" dir " направлена на файл, например

dir > file.txt

затем европейские символы в этом файле представлены в кодовая страница DOS; например,A-umlaut представляется как decimal 132 (hex 0x84). Это не то, чего я хочу. Я хочу, чтобы файл был в кодовой странице ANSI, где, например, A-umlaut является десятичным 228 (hex 0xE4).

выдача команды " cmd/?"результаты в справочной информации, включая строку

/A      Causes the output of internal commands to a pipe or file to be ANSI

Это звучит как именно то, что я хочу. Впрочем, либо последовательность команд

cmd /A
dir > file.txt
exit

или эквивалентная одиночная команда line

cmd /A /C dir > file.txt

создает точно такой же файл.txt, как и раньше; с Europoean символы еще в странице Дос код.

Итак, мой вопрос в том, как я могу получить "dir" для записи файла в кодовую страницу ANSI?

  • богатое
22
задан Rich Pasco
25.02.2023 6:29 Количество просмотров материала 2741
Распечатать страницу

2 ответа

Я думаю, что есть простой способ, "из коробки"

chcp 1252
dir > file.txt
3
отвечен Maximus 2023-02-26 14:17

вас ведет вверх по садовой дорожке буква "А". The /A опция не отличает" ANSI "от" OEM " кодовых страниц. Он отличает 8-битные однобайтовые/многобайтовые кодировки от 16-битных Unicode (/U option). 8-разрядный вывод SBCS/MBCS из программы Win32, например CMD, на консоль обрабатывается в кодовой странице" OEM".

0
отвечен JdeBP 2023-02-26 16:34

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх