是否可以通过 Windows XP/7 上的命令行更改键盘布局?
答案1
是的。
命令行示例:
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
- 打开 Windows PowerShell 提示符。
通过运行以下命令导入国际设置模块:
ipmo国际公司
通过运行以下命令显示计算机上的区域设置信息:
获取WinSystemLocale
设置所需区域和语言的区域设置。例如,以下命令将系统区域设置为日语(日本):
设置 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
作为列表第一个参数给出的语言将被选为活动语言,因此这是一种有效的方式来更改活动语言和可用的键盘语言的总体列表。