Показать полную графическую версию : Выполнить powershell команду через .bat
Здравствуйте, конкретный синтаксис для этой команды не нашел на форуме, помогите плиз.
Нужно 2 bat файла, кликая по одной, будет добавлять к примеру русский, кликая по второй - убирать.
Вот сами команды, которые в powershell работают.
Добавление:
$list.Add(″ru-RU″)
Set-WinUserLanguageList $List -Force
Удаление:
$Index = $List.LanguageTag.IndexOf("ru-RU")
$List.RemoveAt($Index)
Set-WinUserLanguageList $List -Force
Как прописать их в бат правильно, чтобы выполнялись повершеллом ? .
а зачем их прописывать в бат если они выполняются пошиком?
DJ Mogarych
16-08-2022, 20:50
Создайте два файла .ps1, а потом два ярлыка с содержимым
powershell -f "C:\путь\к\файлу\файл.ps1"
Дальше можно запускать их как обычные программы.
Создайте два файла .ps1, а потом два ярлыка с содержимым
Код:
powershell -f "C:\путь\к\файлу\файл.ps1"
Дальше можно запускать их как обычные программы. »
Хорошая идея, впринципе достаточно указать .ps1, чтобы файл запускался шеллом, я попробовал, но код так не работает почему то, шелл запускается, но код не обрабатывается, что можно сделать не знаете?
DJ Mogarych
17-08-2022, 09:12
Полагаю, что код неполный. Переменная $list откуда берётся?
Полагаю, что код неполный. Переменная $list откуда берётся? »
Код работает если по одному вписывать в повершелл, но не работает когда запускаю через .ps1, видимо он не понимаем поочередность выполнения кода, может нужна какая-то команда еще в повершелле, чтоб он понимал, что нужно коды выполнить поочередно.
Не знаю откуда берется, скопировал с сайта майкрософта неделю назад, щас линк не помню.
DJ Mogarych
17-08-2022, 09:26
Попробуйте первой командой поставить
$list = Get-WinUserLanguageList
$list = Get-WinUserLanguageList »
Попробовал, не вышло, при запуске появляется пустое окно powershell и исчезает
DJ Mogarych
17-08-2022, 09:40
Ну оно так и должно появляться и исчезать, вопрос, делает ли оно то, что нужно.
У меня работает так (на примере литовского):
add.ps1
$list = Get-WinUserLanguageList
$list.Add("lt-LT")
Set-WinUserLanguageList $List -Force
remove.ps1
$list = Get-WinUserLanguageList
$list = $list |? languagetag -ne "lt"
Set-WinUserLanguageList $list -Force
Ну оно так и должно появляться и исчезать, вопрос, делает ли оно то, что нужно.
У меня работает так (на примере литовского): »
А вы можете скинуть файл готовый? Я не разобрался слегка в этом пункте ниже
Создал два .ps1 файла, но не понял куда прописать эту команду
powershell -f "C:\путь\к\файлу\файл.ps1" »
DJ Mogarych
17-08-2022, 11:57
не понял куда прописать эту команду »
В ярлыки, которые будут запускать скрипты.
В ярлыки, которые будут запускать скрипты »
Большое спасибо за помощь, все получилось !
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.