在DOS批处理中,我必须从以UTF-8编码的文件中读取文件路径。
chcp 65001
:: read my file...
现在我脚本中显示的所有消息都被破坏(突出显示的字符显示错误)。所以我想我必须恢复到之前的chcp
值。
当我单独调用chcp时,它会向我吐出一条令人讨厌的线,而我想要的只是数字:
C:...>chcp
Page de codes active : 850
如何在更改之前将当前代码页值保存在变量中,以便在读取文件后可以将其设置回来,从而使我在控制台中显示的消息显示正常?
答案 0 :(得分:2)
for /f "tokens=2 delims=:" %a in ('chcp') do set OLDCP=%a
set OLDCP=%OLDCP:~1%
第二行删除数字前的空格。实际上并不需要,但我尝试保持我的价值观清洁。