Как изменить раскладку клавиатуры через командную строку cmd.exe в Windows XP/7?

Можно ли изменить раскладку клавиатуры через командную строку в Windows XP/7?

8 ответов

Решение

Да .

http://blogs.msdn.com/b/shawnste/archive/2007/04/12/configuring-international-settings-from-the-command-line.aspx

http://msdn.microsoft.com/en-us/goglobal/bb964650

пример командной строки:

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>

Нет (не через CMD), вам придется изменить его следующим образом. Раньше был keyb.com команда в DOS, но больше не существует в Windows.

Источник:

Windows 7 или Windows Vista

  1. Нажмите Пуск, введите intl.cpl в поле Начать поиск и нажмите клавишу ВВОД.
  2. На вкладке "Клавиатуры и язык" нажмите "Изменить клавиатуру". Нажмите Добавить.
  3. Разверните язык, который вы хотите. Например, расширить французский (Канада).
  4. Разверните список "Клавиатура", установите флажок "Канадский французский" и нажмите "ОК".
  5. В опциях нажмите View Layout, чтобы сравнить раскладку с реальной клавиатурой.
  6. В списке Язык ввода по умолчанию нажмите Французский (Канада) - Канадский французский, а затем дважды нажмите кнопку ОК.
  7. В диалоговом окне "Язык и региональные стандарты" нажмите "ОК".
  8. Нажмите "Языковая панель", а затем нажмите "FR французский (Канада)".

Windows XP

  1. Нажмите кнопку Пуск, введите intl.cpl в поле "Выполнить" и нажмите клавишу ВВОД.
  2. На вкладке "Языки" нажмите "Подробнее".
  3. В разделе Установленные службы нажмите Добавить.
  4. В списке "Язык ввода" выберите нужный язык. Например, выберите французский (Канада).
  5. В списке Раскладка клавиатуры /IME щелкните Канадский французский, а затем нажмите ОК.
  6. В разделе Выберите один из установленных языков ввода, который будет использоваться при запуске списка компьютеров, нажмите "Французский (Канада)" - "Канадский французский", а затем нажмите "ОК".
  7. В диалоговом окне "Язык и региональные стандарты" нажмите "ОК".
  8. Нажмите на языковую панель, а затем нажмите на французский (Канада).

Но вы можете в Linux, используя loadkeys,

"В Windows 8 появился новый модуль International 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

Для информации: Set-WinUserLanguageList как предложено в других ответах, он не только меняет активный язык ввода с клавиатуры, он переписывает текущий список (включенных) языков ввода. Чтобы установить два или более языков, между которыми вы можете переключаться, используйте что-то вроде этого:

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

Язык, указанный в качестве первого аргумента списка, будет выбран в качестве активного языка, поэтому это может быть эффективным способом изменения как активного языка, так и общего списка доступных языков клавиатуры.

В Windows 8 появился новый международный модуль PowerShell. К сожалению, не похоже, что это может быть перенесено или имеет какую-либо альтернативу Windows 7


Настройте международные параметры с помощью командлетов PowerShell

В Windows 8 вы можете использовать командлеты PowerShell для международных настроек, чтобы изменить язык при работающей установке Windows. Преимущество использования командлетов PowerShell заключается в том, что вы можете включить их в сценарий, чтобы упростить развертывание и настройку Windows. Источник: http://technet.microsoft.com/en-us/library/hh825705.aspx

  1. Откройте приглашение Windows PowerShell.
  2. Импортируйте модуль международных настроек, выполнив следующую команду:

    ИПМО международный

  3. Отобразите информацию о локали на компьютере, выполнив следующую команду:

    Get-WinSystemLocale

  4. Установите локаль для региона и языка, который вы хотите. Например, следующая команда устанавливает системный языковой стандарт на японский (Япония):

    Set-WinSystemLocale ja-JP

Прежде всего я хотел бы отметить, что это работает в Windows 10, и я буду использовать Powershell.

Во-вторых, я опубликую здесь чистый ответ на основе всей информации в этой теме (и еще одной) в одном сообщении.

1- Получите текущий список языков с помощью:

      Get-WinUserLanguageList | Format-Table -Property LanguageTag, InputMethodTips

В моем случае это распечатает текущие доступные настройки в системе:

      LanguageTag InputMethodTips
----------- ---------------
en-US       {0409:00000409}
nl-BE       {0813:00000813}

2- Теперь, чтобы добавить еще один язык (в моем случае я хотел добавить португальский «pt-PT»):

      Set-WinUserLanguageList -Force 'pt-PT', 'en-US', 'nl-BE'

Это оставит предыдущие языки в списке + добавьте тот, который мне нужен, на 1-е место, это сделает все языки доступными в пользовательском интерфейсе и упростит переключение клавиатур:

Опция «-Force» просто позволит избежать запроса на подтверждение.

Вы можете сделать это в Powershell, используя следующие команды.

Сменить клавиатуру на арабскую

      Set-WinUserLanguageList -LanguageList  ar-eg, en-US -force

Измените клавиатуру на английскую:

      Set-WinUserLanguageList -LanguageList  en-US, ar-EG -force
$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

Другие вопросы по тегам