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

Ответы:

11

да.

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#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>
Кролик
источник
2
Интересно, есть ли какая-нибудь команда из cmd, чтобы просто сказать, какая раскладка клавиатуры вы используете в Windows7? Я имею в виду команду, которая возвращает строковое значение используемого языкового макета - не меняя макет, просто запрашивая.
докторская степень
2

В 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

thommck
источник
1
Этот ответ меняет язык . Кажется, это не влияет на клавиатуру, в большинстве случаев кодовая страница будет отличаться.
jiggunjer
2
Set-WinUserLanguageList -Force 'ja-JP'изменит язык ввода с клавиатуры. Обратите внимание на использование -Forceтолько, чтобы не получить всплывающее диалоговое окно. Get-WinUserLanguageListпредоставит вам список языков, доступных пользователю для набора текста.
yasouser
2

«В 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
user709166
источник
1

Нет (не через 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.

sealz
источник
Ура! +1 тебе! :)
studiohack
0
$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

Jana-Panda
источник
0

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

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

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

Пер Лундберг
источник