Показать полную графическую версию : [решено] Как с помощью .bat файла добавить / удалить метод ввода (раскладку)?
FalseTrue
29-07-2015, 10:52
Приветствую всех технических специалистов!
Коллеги, подскажите, пожалуйста, возможно ли создать два .bat файла, один из которых после выполнения добавлял украинскую раскладку, а второй — удалял? Если да, то какой код необходимо в них поместить?
UPD: забыл указать, что использую Windows 8.1.
Чем PowerShell не угодил?
#Добавить мову
$list = Get-WinUserLanguageList
$list.Add("uk-UA")
Set-WinUserLanguageList -LanguageList $list -Force
#Удалить мову
$list = (Get-WinUserLanguageList).where{$_.LanguageTag -ne "uk"}
Set-WinUserLanguageList -LanguageList $list -Force
FalseTrue
10-08-2015, 11:34
Kazun, здравствуйте! Большое спасибо за ваш ответ. Подскажите, пожалуйста, ещё по такому вопросу: правильно ли я поступил, сохранив скрипты добавления / удаления украинской раскладки с расширением .ps1 ? В Windows 8.1 почему-то по двойному клику такие файлы не исполняются, а просто открываются в стандартном блокноте. Выполнить их можно, как я понимаю, только с помощью нажатия на ПКМ > Выполнить с помощью PowerShell.
И, кстати, скрипт добавления украинской раскладки добавляет расширенную версию, а какой код должен быть для добавления обычной украинской раскладки? Извините, что так долго не реагировал на ваш ответ, просто я рассчитывал, что подписавшись на топик мне сразу же придут уведомления на email, как это было раньше, но этого, к сожалению, не произошло. Сам решил посетить форум, т. к. был удивлён, что не ответили, но потом был очень рад, когда обнаружил ваш полезный ответ.
UPD: почитав немного про политику безопасности PowerShell, кажется, понял, почему нельзя по умолчанию выполнять скрипты по двойному клику — это небезопасно. Но возможно как-то для двух этих скриптов указать так, чтоб они выполнялись по двойному клику по ним? Я разместил два скрипта на рабочем столе, и очень было бы удобно просто кликать по ним для выполнения.
В Windows 8.1 почему-то по двойному клику такие файлы не исполняются, а просто открываются в стандартном блокноте. »
Они нигде по умолчанию не исполняются.
Но возможно как-то для двух этих скриптов указать так, чтоб они выполнялись по двойному клику по ним? »
Нет, нельзя. Но Вы можете создать пакетный файл, который будет вызывать исполняемый модуль PowerShell и передавать ему полный путь к скрипту.
Foreigner
10-08-2015, 13:49
Нет, нельзя. »
Можно еще переназначить ассоциации файлов.
Можно еще переназначить ассоциации файлов. »
Имелось в виду именно:
Но возможно как-то для двух этих скриптов указать так, чтоб они выполнялись по двойному клику по ним? »
FalseTrue
10-08-2015, 14:22
Нет, нельзя. Но Вы можете создать пакетный файл, который будет вызывать исполняемый модуль PowerShell и передавать ему полный путь к скрипту. »
Подскажите, пожалуйста, как это реализовать?
powershell command line - Поиск в Google (https://www.google.com/search?q=powershell+command+line&ie=utf-8&oe=utf-8). От версии к версии набор параметров может отличаться. Как я понимаю, это должно быть как-то так:
PowerShell.exe -NoLogo -File "Путь\Имя.ps1"
FalseTrue
10-08-2015, 16:28
Всем большое спасибо за помощь. Остановился на рекомендации (http://forum.oszone.net/post-2533701.html#post2533701) Kazun, но ещё хотелось бы научиться добавлять не расширенную украинскую раскладку, а обычную. Может кто знает?
Foreigner
10-08-2015, 16:51
FalseTrue, Посмотрите список и выберите, чем отличаются обычная от расширенной не знаю:
[system.globalization.cultureinfo]::GetCultures("AllCultures")
$list = Get-WinUserLanguageList
$list.Add("uk")
$list[-1].InputMethodTips.Clear()
$list[-1].InputMethodTips.Add('0422:00000422')
Set-WinUserLanguageList -LanguageList $list -Force
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.