如何让PowerShell启动的多个新窗口自动执行ping等指定命令
解决方案
不需要额外编写独立辅助脚本,直接通过powershell.exe的内置启动参数就能实现新窗口自动执行指定命令的需求。
核心参数说明
调用Start-Process启动powershell进程时,通过-ArgumentList传递启动参数即可:
-NoExit:命令执行完成后不自动关闭窗口,方便查看执行输出,如果不需要保留窗口可以去掉该参数-Command:后跟需要在新窗口中执行的具体命令内容
可直接运行的修改后代码
# 替换成你需要统一执行的命令即可 $commandToRun = "ping 127.0.0.1" for($i = 1 ; $i -le 3; $i++) { Start-Process powershell.exe -ArgumentList "-NoExit", "-Command", $commandToRun }
扩展用法
- 如果需要执行多条连续命令,直接在
$commandToRun中用分号分隔不同命令即可,例如:$commandToRun = "ping 127.0.0.1; Write-Host 'ping执行完成'" - 如果后续执行逻辑比较复杂,想把执行命令和启动逻辑拆分,也可以单独写存放执行逻辑的ps1脚本,启动时把
-Command参数换成-File参数,传入脚本的绝对路径即可,示例:
for($i = 1 ; $i -le 3; $i++) { Start-Process powershell.exe -ArgumentList "-NoExit", "-File", "C:\scripts\your-script.ps1" }
内容的提问来源于stack exchange,提问作者bigNurd
相关产品推荐
相关产品推荐

