2016-05-04 3 views
1

У меня есть два .CMD файлы (BAT), чтобы добавить/удалить клавиатуру (вход) язык:Переключение (Добавить/Удалить) язык клавиатуры (1 CMD)

LangAdd.cmd:

control intl.cpl,, /f:"LangAdd.xml" 

LangRemove .cmd:

control intl.cpl,, /f:"LangRemove.xml" 

LangAdd.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList> 
<gs:User UserID="Current"/> 
</gs:UserList> 
<gs:InputPreferences> 
<gs:InputLanguageID Action="add" ID="0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1}"/> 
</gs:InputPreferences> 
</gs:GlobalizationServices> 

LangRemove.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList> 
<gs:User UserID="Current"/> 
</gs:UserList> 
<gs:InputPreferences> 
<gs:InputLanguageID Action="remove" ID="0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1}"/> 
</gs:InputPreferences> 
</gs:GlobalizationServices> 

Но я хотел бы использовать только один файл CMD - переключение добавить/удалить языковые

Как я могу это сделать?

+0

языки хранятся в реестре 'HKEY_CURRENT_USER \ Keyboard', так что я могу просто использовать заявления, если ... то еще, чтобы проверить, если язык уже добавлен. Я попробую. – user25

ответ

1

Я просто использовал if..else заявления:

IF EXIST REG QUERY "HKCU\Keyboard Layout\Preload" /d 00000412 (
    control intl.cpl,, /f:"LangRemove.xml" 
) ELSE ( 
    control intl.cpl,, /f:"LangAdd.xml" 
) 
Смежные вопросы