启动 powershell 后保留批处理脚本 运行

Keep batch script running after launching powershell within

我正在使用批处理脚本来自动执行许多我必须在计算机上 运行 完成的任务。 在批处理文件中,我有一个菜单,让您分别在每个任务之间进行选择或执行所有操作。 当我选择做所有事情时,在启动第一个 .ps1 之后它只会杀死我的 cmd window.

我找到了使 window 保持打开状态的方法,但脚本无法继续... 我还创建了一个 "master file" 来调用所有“.ps1”并尝试了这些命令:调用,/等待 通话功能有效,他们都开始了。所以我不明白为什么他们会在我的脚本中做同样的事情。 下面的 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}"

任何提示都会被应用。 请记住我不是脚本专家。

谢谢

通过添加 start "" /wait 而不是 start /wait 设法解决了我的问题