如何在 Windows XP/7 上通过命令行 cmd.exe 更改键盘布局?

如何在 Windows XP/7 上通过命令行 cmd.exe 更改键盘布局?

是否可以通过 Windows XP/7 上的命令行更改键盘布局?

答案1

是的。

使用命令行自动化配置区域和语言选项国际设置

Windows Vista 命令行配置国际设置

命令行示例:

control intl.cpl,, /f:"%CD%\AddKeyboardLanguage.xml"

AddKeyboardLanguage.xml 示例:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="add" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

RemoveKeyboardLanguage.xml 示例:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="remove" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

答案2

Windows 8 带来了新的国际的PowerShell 模块。不幸的是,它似乎无法反向移植,也没有 Windows 7 替代品


使用 PowerShell cmdlet 配置国际设置

在 Windows 8 中,您可以使用国际设置 PowerShell cmdlet 更改正在运行的 Windows 安装上的语言。使用 PowerShell cmdlet 的好处是,您可以将其合并到脚本中,以方便部署和配置 Windows。 来源: http://technet.microsoft.com/en-us/library/hh825705.aspx

  1. 打开 Windows PowerShell 提示符。
  2. 通过运行以下命令导入国际设置模块:

    ipmo国际公司

  3. 通过运行以下命令显示计算机上的区域设置信息:

    获取WinSystemLocale

  4. 设置所需区域和语言的区域设置。例如,以下命令将系统区域设置为日语(日本):

    设置 WinSystemLocale ja-JP

答案3

“Windows 8 带来了一个新的国际版 PowerShell 模块。遗憾的是,它似乎无法反向移植,也没有 Windows 7 的替代品”

您可以尝试这个(示例)..这只启用选定的键盘布局并清除其他

Install-Module -name timezone -force
#Sets the systems timezone on "Western Europe Standard time" 
$langlist = New-WinUserLanguageList en-US

#Clears the other input methods from the displayed language
$langlist[0].InputMethodTips.Clear()

#Sets and adds the swiss-German keyboard
$langlist[0].InputMethodTips.add('0409:00000807')

#Sets and adds the swiss-french keyboard
$langlist[0].InputMethodTips.add('0409:0000100C')

#Apply the changes made on the system (and force to avoid the prompt  message)
Set-WinUserLanguageList $langlist -Force

答案4

供参考:Set-WinUserLanguageList正如其他答案所建议的那样,不仅仅是改变积极的键盘输入语言,它会覆盖您当前的(已启用)输入语言列表。要设置两种或多种可切换的语言,请使用以下方法:

Set-WinUserLanguageList -Force en-US,sv-SE

作为列表第一个参数给出的语言将被选为活动语言,因此这是一种有效的方式来更改活动语言和可用的键盘语言的总体列表。

相关内容