PDA

Показать полную графическую версию : Выполнить powershell команду через .bat


plix
16-08-2022, 13:03
Здравствуйте, конкретный синтаксис для этой команды не нашел на форуме, помогите плиз.

Нужно 2 bat файла, кликая по одной, будет добавлять к примеру русский, кликая по второй - убирать.
Вот сами команды, которые в powershell работают.

Добавление:
$list.Add(″ru-RU″)
Set-WinUserLanguageList $List -Force

Удаление:
$Index = $List.LanguageTag.IndexOf("ru-RU")
$List.RemoveAt($Index)
Set-WinUserLanguageList $List -Force

Как прописать их в бат правильно, чтобы выполнялись повершеллом ? .

Elven
16-08-2022, 20:34
а зачем их прописывать в бат если они выполняются пошиком?

DJ Mogarych
16-08-2022, 20:50
Создайте два файла .ps1, а потом два ярлыка с содержимым

powershell -f "C:\путь\к\файлу\файл.ps1"

Дальше можно запускать их как обычные программы.

plix
17-08-2022, 09:03
Создайте два файла .ps1, а потом два ярлыка с содержимым
Код:
powershell -f "C:\путь\к\файлу\файл.ps1"
Дальше можно запускать их как обычные программы. »


Хорошая идея, впринципе достаточно указать .ps1, чтобы файл запускался шеллом, я попробовал, но код так не работает почему то, шелл запускается, но код не обрабатывается, что можно сделать не знаете?

DJ Mogarych
17-08-2022, 09:12
Полагаю, что код неполный. Переменная $list откуда берётся?

plix
17-08-2022, 09:20
Полагаю, что код неполный. Переменная $list откуда берётся? »
Код работает если по одному вписывать в повершелл, но не работает когда запускаю через .ps1, видимо он не понимаем поочередность выполнения кода, может нужна какая-то команда еще в повершелле, чтоб он понимал, что нужно коды выполнить поочередно.

Не знаю откуда берется, скопировал с сайта майкрософта неделю назад, щас линк не помню.

DJ Mogarych
17-08-2022, 09:26
Попробуйте первой командой поставить

$list = Get-WinUserLanguageList

plix
17-08-2022, 09:28
$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

plix
17-08-2022, 11:49
Ну оно так и должно появляться и исчезать, вопрос, делает ли оно то, что нужно.
У меня работает так (на примере литовского): »

А вы можете скинуть файл готовый? Я не разобрался слегка в этом пункте ниже

Создал два .ps1 файла, но не понял куда прописать эту команду

powershell -f "C:\путь\к\файлу\файл.ps1" »

DJ Mogarych
17-08-2022, 11:57
не понял куда прописать эту команду »
В ярлыки, которые будут запускать скрипты.

plix
17-08-2022, 13:19
В ярлыки, которые будут запускать скрипты »

Большое спасибо за помощь, все получилось !




© OSzone.net 2001-2012