Показывать символы с акцентами в файле перенаправления (>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