如何从cmd中找到当前的Windows语言?

时间:2009-10-22 22:24:25

标签: windows-xp language-features cmd

我想为每种语言运行一个脚本。 我需要一种方法来使用批处理文件来查找正在使用的语言。 在Windows XP和Windows 7上都有。

由于

10 个答案:

答案 0 :(得分:13)

不知道这是否仍然适用于Windows 7,但在Windows XP中仍然有效

reg query "hklm\system\controlset001\control\nls\language" /v Installlanguage

然后你可以解析输出。 e.g。

0409 --> English
0407 --> German

答案 1 :(得分:4)

您无法在HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language下使用InstallLanguage
因为这就是它所说的:安装语言
虽然您可以直接安装本地化版本的Windows,但并不总是这样,因为它不在我的电脑上。而是应用了一个语言包,这很好,但是显示语言与安装语言不同 此外,如果用户更改其显示语言,InstallLanguage将不会反映更改。并且可能有更多用户使用不同的显示语言。

  • 当前用户显示语言
  

HKCU \控制面板\桌面
  PreferredUILanguages

FOR /F "tokens=3" %%a IN ('reg query "HKCU\Control Panel\Desktop" /v PreferredUILanguages ^| find "PreferredUILanguages"') DO set UILanguage=%%a
echo User Display Language: %UILanguage%

<小时/> 本地机器语言,系统语言和用户语言之间存在差异。还有单独的BCD语言设置,用于恢复和启动管理器

  • 本地计算机

安装语言在安装时设置,永远不会更改 也是&#34; HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language&#34;的默认值key设置为相同的值。某些InstallShield安装程序错误地读取了该值,导致本地化Windows上的英文界面 如果更改显示语言,则新值存储在

  

HKLM \系统\ CurrentControlSet \控制\ MUI \设置
  PreferredUiLanguages

这将覆盖HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language下的InstallLanguage值 值类型有混淆,而InstallLanguage是LCID,PreferredUiLanguages是LCID字符串。 然后将该语言报告为本地机器语言。它不是用户显示语言

  • 系统语言

这是系统用户的语言 在用户登录之前,使用此语言 这意味着它是欢迎屏幕和OOBE的语言。

  

HKEY_USERS \ S-1-5-18 \控制面板\桌面\ MuiCached
        MachinePreferredUILanguages

还有一种WMI方法可以获得操作系统语言,但我没有测试你会使用哪种语言

  

wmic os get locale,oslanguage,codeset

FOR /F "tokens=2 delims==" %%a IN ('wmic os get OSLanguage /Value') DO set OSLanguage=%%a
echo OS Language: %OSLanguage%

答案 2 :(得分:3)

以下代码解决了我的问题。它适用于Windows Server 2003和Windows 7

FOR /F "tokens=3 delims= " %%G in ('reg query "hklm\system\controlset001\control\nls\language" /v Installlanguage') DO (
IF [%%G] EQU [0409] (
  ECHO English install language detected
) ELSE (
  ECHO Some other language detected
)

希望它有所帮助!

答案 3 :(得分:3)

使用&#34; dism / online / get-intl&#34;命令。

答案 4 :(得分:1)

在控制台CMD写命令中:

  

intl.cpl

答案 5 :(得分:0)

在cmd上使用命令并搜索与您的查询关联的英语单词。

示例:w32tm /query /peers >> somewhere.txt

#Peers: 1

Peer: ca.pool.ntp.org
State: Active
Time Remaining: 58.3260171s
Mode: 3 (Client)
Stratum: 3 (secondary reference - syncd by (S)NTP)
PeerPoll Interval: 17 (out of valid range)
HostPoll Interval: 10 (1024s)

第一行始终是“对等”或“服务未启动”,因此,如果用户使用的语言不是英语,则脚本将找不到该单词,并且结果可以返回0。

答案 6 :(得分:0)

在cmd中:reg query "HKEY_CURRENT_USER\Keyboard Layout\Preload"

这将产生:

HKEY_CURRENT_USER\Keyboard Layout\Preload
    2    REG_SZ    00000419
    1    REG_SZ    00000809

就像第一个答案一样,然后使用thisthis网站解析最右边的数字

如果最左边的数字是数字1,即当前使用的当前键盘语言。

答案 7 :(得分:0)

在Windows 10 1903中,当前用户的语言设置似乎在“ HKCU \控制面板\国际\本地名称”中找到

答案 8 :(得分:0)

使用 powershell 并在 windows7 和 windows10 上测试(可能适用于 XP,但 powershell 不是 XP 原生的)

不需要提升的命令提示符。

给出命令行执行的语法

powershell get-uiculture

powershell -NoProfile "Get-UICulture|select -ExpandProperty LCID"

最后一个仅适用于 windows10。

powershell [CultureInfo]::InstalledUICulture

信用/参考:

here

https://winaero.com/find-default-system-language-windows-10/

答案 9 :(得分:0)

在 Windows 中使用命令提示符有两种方法可以做到这一点

第一

  • 打开高架command prompt
  • 输入以下命令 dism /online /get-intl

enter image description here

第二

  • 打开高架command prompt
  • 输入以下命令 systeminfo

enter image description here

这两种工作都取决于您的需要