批处理:强制执行语言

时间:2018-04-12 14:39:51

标签: output locale batch-processing

是否有任何命令说“现在用英语,请”到电脑上?

我不想更改here之类的系统区域设置,我只需要在代码执行中临时更改语言。

背景故事:

我正在编写一个脚本来自动报告系统信息,以便将它们提供给应该在几年前设置并从那时起维护的数据库。

问题是systeminfo.exe例如,在我的机器上运行时会返回带有英文标记的行,而在同事的机器上会返回捷克标记的行。在两台机器上捷克字母都被错误编码。两台机器都具有相同的系统区域设置和输入区域设置(cs;¬eçtina),第一台是运行Win10Pro的Dell,第二台是运行Win7Pro SP1的Lenovo。

幸运的是,我不需要关心关键部分的捷克字母。不幸的是,我需要解析报告以获取我实际需要的数据(50多行中的5行)并且很少有未编码的行。

作为systeminfo.exe一部分的报告中的两行返回:

我的机器返回:

System Locale:             cs;¬eçtina
Input Locale:              cs;¬eçtina

同事的机器返回:

Mˇstnˇ nastavenˇ syst‚mu:            cs;¬eçtina
N rodnˇ prostýedˇ:                   cs;¬eçtina

我希望他们都将System Locale作为标签返回。

1 个答案:

答案 0 :(得分:0)

我真的不明白你的意思。 但是,请尝试将以下内容添加到批处理脚本的开头:

chcp 65001

这会将默认编码设置为UTF-8。