Windows XP/7のコマンドラインからキーボードレイアウトを変更することはできますか?
はい。
http://msdn.Microsoft.com/en-us/goglobal/bb964650#eyb
コマンドラインの例:
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>
"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
Windows 8には、新しいInternationalPowerShellモジュールが導入されています。残念ながら、これはバックポートできたり、Windows 7に代わるものがないようです。
PowerShellコマンドレットを使用して地域と言語の設定を構成する
Windows 8では、インターナショナル設定PowerShellコマンドレットを使用して、実行中のWindowsインストールの言語を変更できます。 PowerShellコマンドレットを使用する利点は、それらをスクリプトに組み込んで、Windowsの展開と構成を容易にすることができることです。 ソース: http://technet.Microsoft.com/en-us/library/hh825705.aspx
次のコマンドを実行して、インターナショナル設定モジュールをインポートします。
ipmo international
次のコマンドを実行して、コンピューターのロケール情報を表示します。
Get-WinSystemLocale
必要な地域と言語のロケールを設定します。たとえば、次のコマンドはシステムロケールを日本語(日本)に設定します。
Set-WinSystemLocale ja-JP
いいえ (CMDを介さない)、次のように変更する必要があります。以前はkeyb.com
DOSのコマンドですが、Windowsにはありません。
Windows 7またはWindows Vista
Windows XP
ただし、loadkeys
を使用して Linux で実行できます。
詳細については: Set-WinUserLanguageList
他の回答で提案されているように、アクティブキーボード入力言語を変更するだけでなく、(有効な)入力言語の現在のリストを上書きします。切り替えることができる2つ以上の言語を設定するには、次のように使用します。
Set-WinUserLanguageList -Force en-US,sv-SE
リストの最初の引数として指定された言語がアクティブ言語として選択されるため、これはアクティブ言語と使用可能なキーボード言語のリスト全体の両方を変更する効率的な方法です。
$psdrive = New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS
Set-ItemProperty -Path "HKU:\.DEFAULT\Keyboard Layout\Preload\" -Name 1 -Value 00001033
$psdrive | Remove-PSDrive
これはWindows 7 PowerShellで正常に機能しますが、別の言語が必要な場合はレイアウトを英語に変更するには、ログアウトして再度ログインする必要があります。-Value番号を変更する必要があります https: //www.science.co.il/language/Locale-codes.php