有没有办法在 windows 终端的不同选项卡中 运行 多个 powershell 脚本?

Is there a way to run multiple powershell scripts in different tabs in windows terminal?

我有一个包装器 powershell 脚本,其中 运行 是一些像这样的 powershell 脚本:

Start-Process PowerShell {-NoExit .\b.ps1}
Start-Process Powershell {-NoExit .\c.ps1}
Start-Process PowerShell {-NoExit .\d.ps1}

我使用 conemu 运行 包装器脚本,它会在选项卡中打开所有其他脚本。 有没有办法在新的 windows 终端中做同样的事情?

我在包装器脚本中试过这个:

wt new-tab PowerShell -c .\a.ps1
wt new-tab PowerShell -c .\b.ps1
wt new-tab PowerShell -c .\c.ps1

它为每个单独打开 windows,并且所有这些都因命令未找到错误而出错。 还有其他方法吗?

在包装器脚本中试试这个:

wt.exe --window 0 new-tab --profile "Windows PowerShell" PowerShell -noexit -command .\a.ps1
wt.exe --window 0 new-tab --profile "Windows PowerShell" PowerShell -noexit -file .\b.ps1
wt.exe --window 0 new-tab --profile "Windows PowerShell" PowerShell -noexit -file .\c.ps1

解释主要来自Using command line arguments for Windows Terminal

  1. 语法--window <window-id>:在特定window中启动终端。这里的--window 0总是指当前的wtwindow(见wt -?)。
  2. 语法new-tab --profile <profile-name> [command]:
  • <profile-name> 可能取决于安装;我用了 "Windows PowerShell".
  • [command](方括号表示可选):PowerShell -noexit -file .\c.ps1。请注意,我使用了 -command-file,请参阅 PowerShell -?

最后说明:考虑使用 --startingDirectory 参数(或脚本文件的绝对路径),因为 facultative startingDirectory in WT 配置文件可以定位wt.exe 命令中的 .\ 之外的另一个目的地…

您可以通过 运行 将这一切作为一个命令使它变得更简单一些。每个 wt.exe 调用都会尝试创建一个新的 window。但是,您可以将多个命令链接在一起:

wt new-tab -d . -p "Windows PowerShell" powershell -noexit -file .\a.ps1 ; new-tab -d . -p "Windows PowerShell" powershell -noexit -file .\b.ps1 ; new-tab -d . -p "Windows PowerShell" powershell -noexit -file .\c.ps1

或者可能更简单:

wt -d . powershell -noexit -file .\a.ps1 ; -d . powershell -noexit -file .\b.ps1 ; -d . powershell -noexit -file .\c.ps1
  • 您可以将 nt 用作 new-tab 的 shorthand。事实上,你可以完全省略子命令,终端会假设你的意思是 new-tab
  • 如果这是您的默认配置文件,您可以省略 -p "Windows PowerShell"