Поддерживайте запуск пакетного скрипта после запуска powershell в - PullRequest
0 голосов
/ 21 февраля 2020

Я использую пакетный скрипт для автоматизации многих задач, которые мне нужно запустить на компьютере. В командном файле у меня есть меню, позволяющее вам выбирать между каждой задачей в отдельности или делать все. Когда я решаю сделать все, после запуска первого .ps1 это просто убивает мое окно cmd.

Я нашел способ сохранить окно открытым, но сценарий не продолжается ... Также я создал " мастер-файл "для вызова всех" .ps1 "и пробовал эти cmds: call, / wait Функция вызова работает, и все они запускаются. Поэтому я не понимаю, почему они сделали бы то же самое в моем сценарии. Строки cmd, приведенные ниже, в моем сценарии не ниже друг друга, потому что я хочу, чтобы их можно было вызывать отдельно.

Часть сценария, которую я хотел бы запустить правильно:

echo Windows Layout
start /wait PowerShell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""%~dp0Customisation\Export_Import_Layout.ps1""' -Verb RunAs}"

echo Remove Unwanted Apps
start /wait PowerShell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""%~dp0Clean\RemoveAppx.ps1""' -Verb RunAs}"
wmic product where name="WinZip 22.5" call uninstall
ping -n 6 localhost >nul
Taskkill /IM /F "MicrosoftEdge.exe"
Taskkill /IM /F "MicrosoftEdgeCP.exe"
Taskkill /IM /F "MicrosoftEdgeSH.exe"
%~dp0Clean\MCPR.exe

master.bat выглядит так:

call PowerShell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""%~dp0InstallChocoAndApps.ps1""' -Verb RunAs}"
call PowerShell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""%~dp0Clean\RemoveAppx.ps1""' -Verb RunAs}"

Любая подсказка будет оценена. Пожалуйста, имейте в виду, что я не специалист по сценариям.

Спасибо

Бен

1 Ответ

0 голосов
/ 22 февраля 2020

Эта проблема решена. Смотрите первый комментарий.

...