如何在 Powershell(Windows 终端)中使用 运行 特定命令打开新选项卡?

How to open new tab with running specific command in Powershell (Windows Terminal)?

我想要的是打开一个包含 Powershell 和 运行ning 特定命令的新选项卡(在我的例子中是“npm 运行 local”)。

我原以为这会奏效,

wt -w 0 -p "Windows Powershell" npm run local

但是,它给出了一个错误,

[error 0x80070002 when launching `npm run local']


这可能吗?如何实现?

*注意:我做了很多研究,也阅读了官方文档,但我找不到办法。

运行 Get-Command npm 显示 npm 实际上是 npm.cmd,所以 CMD 解释脚本,而不是 PowerShell。当直接在命令行 运行 时,PowerShell 可以关闭扩展名,但是当通过 Windows 终端配置文件时,扩展名似乎是必需的:

wt -w 0 -d . -p "Windows PowerShell" npm.cmd init
wt -w 0 -d . -p "Command Prompt" npm.cmd init

(编辑:-d . 根据您的评论添加。没有它,正如您所指出的,它将始终默认为 %userprofile% 目录)。

也就是说,从您的评论看来,您的用例是在流程完成后保持选项卡打开。那样的话...

wt -w 0 -d . -p "Windows PowerShell" cmd /k npm run local
wt -w 0 -d . -p "Command Prompt" cmd /k npm run local

我从 Windows 终端开发人员那里找到了 best/recommended 解决方案

Answer on GitHub

For both Command Prompt and Powershell.

wt --window 0 -p "Windows Powershell" -d . powershell -noExit "npm run local"

Only for Powershell.

wt --window 0 -p "Windows Powershell" -d "$pwd" powershell -noExit "npm run local"


最好使用此功能,同时 运行 命令进行开发,在我的例子中

对于 Powershell

wt --window 0 -p "Windows Powershell" -d . powershell -noExit "npm run startMongo"`;  split-pane --horizontal -p "Windows Powershell" -d . powershell -noExit "npm run gulp-watch"`;  new-tab -p "Windows Powershell" -d . powershell -noExit "npm run local"

对于命令提示符

wt --window 0 -p "Windows Powershell" -d . powershell -noExit "npm run startMongo";  split-pane --horizontal -p "Windows Powershell" -d . powershell -noExit "npm run gulp-watch";  new-tab -p "Windows Powershell" -d . powershell -noExit "npm run local"