Показывать символы с акцентами в файле перенаправления (>output.txt)

Пример

mode con: cp>%tmp%\output.tmp
notepad %tmp%\output.tmp

шоу:

Statut du p‚riph‚rique CON:
---------------------------
    Page de codesÿ:   850

вместо:

Statut du périphérique CON:
---------------------------
    Page de codes :   850

Я тоже пробовал с chcp 65001 а также 1252

Вы знаете исправление?

Редактировать:

Я использую истинные шрифты Lucida, и даже если я type %tmp%\output.tmp в консоли отображаются правильные символы, но не в любом текстовом редакторе.

Я также попробовал:

cmd /U /C "chcp 65001>nul &mode con: cp>%tmp%\output.tmp"

а также

cmd /A /C "chcp 65001>nul &mode con: cp>%tmp%\output.tmp"

безуспешно

2 ответа

Решение

Вы можете использовать переключатель /U cmd.exe для того, чтобы вывести символы Unicode. Например:

cmd /U /C dir > dirInUnicode.txt

Однако этот переключатель работает только с внутренними командами, поэтому вы должны использовать вспомогательный файл для преобразования вывода mode команда:

mode con: cp>%tmp%\output1.tmp
cmd /U /C type %tmp%\output1.tmp > %tmp%\output2.tmp

Используйте PowerShell вместо DOS в качестве командной строки. Работает безупречно со специальными персонажами.

C:> powershell
PS C:> mode con: cp > temp.txt
PS C:> notepad temp.txt
Другие вопросы по тегам