使用 Windows 终端的命令行参数

可以使用 wt.exe 从命令行打开 Windows 终端的新实例。 还可以改为使用执行别名 wt

注意

如果从 GitHub 上的源代码生成了 Windows 终端,则可以使用 wtd.exewtd 打开该生成。

Windows Terminal command line argument for split panes

命令行语法

wt 命令行接受两种类型的值:“选项”和“命令” 。 “选项”是一系列标志和其他参数,可以将 wt 命令行的行为作为一个整体来控制。 “命令”提供应该实现的操作或操作列表(以分号分隔)。 如果未指定命令,则默认情况下会将命令指定为 new-tab

wt [options] [command ; ]

若要显示列出可用命令行参数的帮助消息,请输入:wt -hwt --helpwt -?wt /?

选项和命令

下面是 wt 命令行支持的命令和选项的完整列表。

选项 说明
--help, -h, -?, /? 显示帮助消息。
--maximized, -M 以最大化形式启动终端。
--fullscreen, -F 以全屏形式启动终端。
--focus, -f 在焦点模式下启动终端。 可以与 maximized 结合使用。
--window, -w<window-id> 在特定窗口中启动终端。

New-tab 命令

命令 参数 说明
new-tab, nt --profile, -p profile-name 根据分配的配置文件名称创建一个新选项卡。 配置文件名称
new-tab, nt --startingDirectory, -d starting-directory 根据分配的起始目录路径创建一个新选项卡。 目录路径
new-tab, nt commandline 根据分配的命令行创建一个新选项卡。 包含可选命令的可执行文件
new-tab, nt --title 创建分配了标题的新选项卡。 用作选项卡标题的文本
new-tab, nt --tabColor 创建分配有选项卡颜色的新选项卡。 十六进制颜色为 #RGB 或 #RRGGBB

提示

如果在 Windows 终端中更改选项卡的标题并希望该标题保持不变,则必须通过将其设置为 true 来启用 suppressApplicationTitle 选项。

Split-pane 命令

命令 参数 说明
split-pane, sp -H, --horizontal, -V, --vertical 水平或垂直创建新的拆分窗口窗格。 不适用。 没有其他值要分配。
split-pane, sp --profile, -p profile-name 根据分配的命令行配置文件创建一个新的拆分窗口窗格。 如果未分配此参数,则将使用默认配置文件。 配置文件名称
split-pane, sp --startingDirectory, -d starting-directory 根据分配的起始目录路径创建一个新的拆分窗口窗格。 如果未分配此参数,则将使用默认起始目录。 目录路径
split-pane, sp --title 创建一个带有已分配标题的新拆分窗口窗格。 用作选项卡标题的文本
split-pane, sp --tabColor 创建一个已分配选项卡颜色的新拆分窗口窗格。 十六进制颜色为 #RGB 或 #RRGGBB
split-pane, sp --size, -s size 创建一个已分配大小的新拆分窗口窗格。 浮点数,指定用小数表示的父窗格部分。 例如,.4 表示父窗格的 40%。
split-pane, sp commandline 根据分配的命令行创建一个新的拆分窗口窗格。 包含可选命令的可执行文件
split-pane, sp --duplicate, -D 创建一个新的拆分窗口窗格,该窗格是当前窗格的副本。 不适用。 没有其他值要分配。

Focus-tab 命令

命令 参数 说明
focus-tab, ft --target, -t tab-index 根据选项卡索引号,重点关注特定选项卡。 选项卡索引为整数

Move-focus 命令

命令 参数 说明
move-focus, mf direction 在窗格之间以给定方向移动焦点。 接受 updownleftright 值。

注意

从 cmd(命令提示符)打开 Windows 终端时,如果要使用自定义“cmd”配置文件设置,则需要使用命令 wt -p cmd。 否则,若要运行默认配置文件设置,只需使用 wt cmd

命令行参数示例

命令可能会略有不同,具体取决于所使用的命令行。

将参数传递给默认 shell

要启动 Windows 终端实例并让其执行命令,请调用 wt.exe,然后再调用你的命令。

以下是调用 Windows 终端以传递 ping 命令参数以回显 IP 地址的示例:

wt ping docs.microsoft.com

以下是调用 Windows 终端以使用 PowerShell 命令行打开新选项卡、确认调用 Start-Service 命令并使用 /k 目录中打开的 Windows 命令提示符打开另一个新选项卡的示例:

wt new-tab PowerShell -c Start-Service ; new-tab cmd /k dir

面向特定窗口

下面是如何使用 --window,-w 选项面向特定窗口的示例。

// Open a new tab with the default profile in the current window
wt -w 0 nt

// Open a new tab in a new window with the default profile
wt -w -1 nt

// Open a new tab in the first-created terminal window with the default profile
wt -w 1 nt

// Open a new tab in the terminal window named foo with the default profile. If foo does not exist, create a new window named foo.
wt -w foo nt

打开新的配置文件实例

若要打开新的终端实例(在此示例中,该命令将打开名为“Ubuntu-18.04”的配置文件),请输入:

wt -p "Ubuntu-18.04"

-p 标志用于指定应打开的 Windows 终端配置文件。 将“Ubuntu-18.04”替换为已安装的任何终端配置文件的名称。 这将始终打开一个新窗口。 Windows 终端尚不能在现有实例中打开新选项卡或窗格。

以一个目录为目标

若要指定应该用作控制台起始目录的文件夹(在本例中为 d:\目录),请输入:

wt -d d:\

多个选项卡

若要打开具有多个选项卡的新终端实例,请输入:

wt ; ;

若要打开具有多个选项卡的新终端实例(在本例中为命令提示符配置文件和 PowerShell 配置文件),请输入:

wt -p "Command Prompt" ; new-tab -p "Windows PowerShell"

多个窗格

若要使用一个选项卡打开一个包含三个窗格(分别运行命令提示符配置文件、PowerShell 配置文件以及运行 WSL 命令行的默认配置文件)的新终端实例,请输入:

wt -p "Command Prompt" ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe

-H 标志(或 --horizontal)指示你希望水平拆分窗格。 -V 标志(或 --vertical)指示你希望垂直拆分窗格。

多个选项卡和窗格

可以对 new-tabsplit-pane 命令进行排序,以获取多个选项卡,每个选项卡都具有拆分窗格。 若要打开带有两个选项卡的新终端实例,每个选项卡都有两个运行命令提示符和 WSL 命令行的窗格,每个选项卡位于不同的目录中,请输入:

wt -p "Command Prompt" ; split-pane -V wsl.exe ; new-tab -d c:\ ; split-pane -H -d c:\ wsl.exe

窗格标题

若要为每个终端窗格打开带有自定义标题的新终端实例,可使用 --title 参数。 若要在打开多个选项卡时设置每个窗格的标题,请输入:

wt --title tabname1 ; new-tab -p "Ubuntu-18.04" --title tabname2

同一选项卡中的窗格可以有不同的标题,这将反映在选项卡标题上,具体取决于哪个窗格具有焦点。 若要命名独立窗格,可以在拆分窗格后设置标题,方法是输入:

wt --title pane1 ; split-pane -p "Command Prompt" --title pane2

使用应用程序标题

若要打开一个新的终端实例,使其内的应用程序可以通过发送标题更改消息设置选项卡标题,请使用 --useApplicationTitle 标志。 若要禁止显示这些消息,请使用 --suppressApplicationTitle 标志。 如果未提供这些标志,则将从配置文件的设置继承该行为。 若要打开标题为 tabname 且不会被应用程序覆盖的选项卡,请输入:

wt --title tabname --suppressApplicationTitle

选项卡颜色

若要打开带有自定义选项卡颜色的新终端实例,请使用 --tabColor 参数。 此参数会覆盖配置文件中定义的值,但也可以使用选项卡颜色选取器覆盖。 在以下示例中,创建了一个具有不同颜色的两个选项卡的新终端:

wt --tabColor #009999 ; new-tab --tabColor #f59218

当为选项卡设置 --tabColor 时,它与此选项卡的第一个窗格相关联。因此,在具有多个窗格的选项卡中,仅当第一个窗格处于焦点时才会应用颜色。 若要设置其他窗格的选项卡颜色,还需要将 --tabColor 参数添加到 split-pane 子命令。 在下面的示例中,创建了一个带有两个窗格的选项卡,并为每个窗格指定了选项卡颜色:

wt new-tab --tabColor #009999 ; split-pane --tabColor #f59218

配色方案

若要打开具有特定配色方案(而不是配置文件中设置的 colorScheme)的新终端实例,请使用 --colorScheme 参数。 此参数会覆盖配置文件中定义的值。

wt --colorScheme Vintage ; split-pane --colorScheme "Tango Light"

选项卡焦点

若要打开带有特定焦点选项卡的新终端实例,请使用 -t 标志(或 --target)以及选项卡-索引号。 若要在第一个选项卡中打开默认配置文件,并在第二个选项卡 (-t 1) 中打开焦点“Ubuntu-18.04”配置文件,请输入:

wt ; new-tab -p "Ubuntu-18.04" ; focus-tab -t 1

PowerShell 中多个命令的示例

Windows 终端使用分号字符 ; 作为分隔符来分隔 wt 命令行中的命令。 遗憾的是,PowerShell 也使用 ; 作为命令分隔符。 若要解决此问题,可以使用以下技巧从 PowerShell 运行多个 wt 命令。 在下面的所有示例中,将创建一个新的终端窗口,其中包含三个窗格:一个运行命令提示符,一个运行 PowerShell,最后一个运行 WSL。

下面的示例不使用 start 运行命令行。 但是,可以通过另外两种方法来对命令行转义:

  • 仅对分号进行转义,使 PowerShell 忽略它们,并将它们直接传递到 wt
  • 使用 --%,因此 PowerShell 会将命令行的其余部分视为应用程序的参数。
wt new-tab "cmd" `; split-pane -p "Windows PowerShell" `; split-pane -H wsl.exe
wt --% new-tab cmd ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe

在这两个示例中,新创建的 Windows 终端窗口将通过正确分析所有提供的命令行参数来创建窗口。

但是目前不建议使用这些方法,因为 PowerShell 会等待新创建的终端窗口关闭,然后再将控制权返回给 PowerShell。 默认情况下,在返回到提示符之前,PowerShell 将始终等待 Windows 应用商店应用程序(如 Windows 终端)关闭。 请注意,这与命令提示符的行为不同,后者会立即返回到提示符。