Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Выполнить powershell команду через .bat (http://forum.oszone.net/showthread.php?t=351744)

plix 16-08-2022 13:03 2990558

Выполнить 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

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

Elven 16-08-2022 20:34 2990579

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

DJ Mogarych 16-08-2022 20:50 2990583

Создайте два файла .ps1, а потом два ярлыка с содержимым
Код:

powershell -f "C:\путь\к\файлу\файл.ps1"
Дальше можно запускать их как обычные программы.

plix 17-08-2022 09:03 2990595

Цитата:

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


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

DJ Mogarych 17-08-2022 09:12 2990596

Полагаю, что код неполный. Переменная $list откуда берётся?

plix 17-08-2022 09:20 2990597

Цитата:

Цитата DJ Mogarych
Полагаю, что код неполный. Переменная $list откуда берётся? »

Код работает если по одному вписывать в повершелл, но не работает когда запускаю через .ps1, видимо он не понимаем поочередность выполнения кода, может нужна какая-то команда еще в повершелле, чтоб он понимал, что нужно коды выполнить поочередно.

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

DJ Mogarych 17-08-2022 09:26 2990598

Попробуйте первой командой поставить
Код:

$list = Get-WinUserLanguageList

plix 17-08-2022 09:28 2990599

Цитата:

Цитата DJ Mogarych
$list = Get-WinUserLanguageList »

Попробовал, не вышло, при запуске появляется пустое окно powershell и исчезает

DJ Mogarych 17-08-2022 09:40 2990601

Ну оно так и должно появляться и исчезать, вопрос, делает ли оно то, что нужно.

У меня работает так (на примере литовского):

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 2990605

Цитата:

Цитата DJ Mogarych
Ну оно так и должно появляться и исчезать, вопрос, делает ли оно то, что нужно.
У меня работает так (на примере литовского): »

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

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

Цитата:

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


DJ Mogarych 17-08-2022 11:57 2990606

Цитата:

Цитата plix
не понял куда прописать эту команду »

В ярлыки, которые будут запускать скрипты.

plix 17-08-2022 13:19 2990607

Цитата:

Цитата DJ Mogarych
В ярлыки, которые будут запускать скрипты »

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


Время: 23:50.

Время: 23:50.
© OSzone.net 2001-