You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让外部程序不暂停PowerShell脚本并实现并行运行?

解决脚本并行运行两个程序的问题

你的脚本之所以会阻塞,是因为直接调用.\ngrok时,PowerShell会等待该进程完全退出后才执行后续命令。要实现并行运行,只需将ngrok的启动方式改为异步调用即可。

修改后的完整start.cmd脚本:

@PowerShell -ExecutionPolicy Bypass -Command Invoke-Expression $('$args=@(^&{$args} %*);'+[String]::Join(';',(Get-Content '%~f0') -notmatch '^^@PowerShell.*EOF$')) & goto :EOF
Set-Location -LiteralPath "D:\ngrok"
Start-Process -FilePath ".\ngrok" -ArgumentList "tcp --region=us --remote-addr=9.tcp.ngrok.io:22648 22"
Set-Location -LiteralPath "C:\Users\apeal\OneDrive\Desktop\SSC"
Start-Process -FilePath "run.bat"

核心修改说明:

  • 将第3行的直接执行.\ngrok tcp ...替换为Start-Process命令,让ngrok在独立进程中异步运行,不会阻塞后续的run.bat启动命令。
  • 通过-ArgumentList参数传递ngrok所需的全部命令行参数,确保功能不受影响。

如果需要让ngrok在当前控制台窗口运行(而非新窗口),可以添加-NoNewWindow参数:

Start-Process -FilePath ".\ngrok" -ArgumentList "tcp --region=us --remote-addr=9.tcp.ngrok.io:22648 22" -NoNewWindow

内容的提问来源于stack exchange,提问作者A potato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:29:55