使用 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.exe 命令的行为可能会受到 windowingBehavior 属性的影响。 此设置可调整为打开新窗口或打开新标签页之间的默认设置。

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

选项和命令

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

选项 说明
--help, -h, -?, /? 显示帮助消息。
--maximized, -M 以最大化形式启动终端。
--fullscreen, -F 以全屏形式启动终端。
--focus, -f 在焦点模式下启动终端。 可以与 maximized 结合使用。
--pos x,y 在给定位置启动终端。 xy 可以省略,以使用设置中的默认值。
--size c,r 启动包含指定数目的列 (c) 和行 (r) 的终端。
--window, -w window-id 在特定窗口中运行给定的命令。

--window 参数可用于将命令发送到现有终端窗口。

window-id 可以是窗口的整数 ID,也可以是窗口的名称。 也接受以下保留值:

  • new-1:始终在新窗口中运行此命令
  • last0:始终在最近使用的窗口中运行此命令

如果不存在具有给定 window-id 的窗口,则将使用该 ID/名称创建新窗口。

例如,运行 wt -w _quake 将打开一个新的“quake 窗口”。 再次运行该命令将在现有 quake 窗口中打开一个新选项卡。

New tab 命令

用于创建新选项卡。另请参阅 newTab 操作

命令 参数 说明
new-tabnt --profile, -p profile-name 根据分配的配置文件名称创建一个新选项卡。 配置文件名称
new-tabnt --startingDirectory, -d starting-directory 根据分配的起始目录路径创建一个新选项卡。 目录路径
new-tabnt commandline 根据分配的命令行创建一个新选项卡。 包含可选命令的可执行文件
new-tabnt --title 创建分配了标题的新选项卡。 用作选项卡标题的文本
new-tabnt --tabColor 创建分配有选项卡颜色的新选项卡。 十六进制颜色为 #RGB 或 #RRGGBB
new-tabnt --suppressApplicationTitle 重写配置文件的 suppressApplicationTilte 设置,并将其设置为 true
new-tabnt --useApplicationTitle 重写配置文件的 suppressApplicationTilte 设置,并将其设置为 false
new-tabnt --colorScheme scheme-name 覆盖配置文件的 colorScheme 设置,并将其设置为名称为 scheme-name 的设置中的方案 设置中配色方案的名称

提示

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

Split-pane 命令

用于创建新的拆分窗格。 另请参阅 splitPane 操作

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

Focus-tab 命令

用于聚焦窗口中的特定选项卡。 另请参阅 switchToTab 操作

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

Move-focus 命令

用于在窗口中移动焦点。 另请参阅 moveFocus 操作

命令 参数 说明
move-focusmf <direction> 在各个窗格之间移动焦点。 有关接受的 direction 值,请参阅下文

接受的 direction

  • updownleftright 在给定方向上移动焦点。
  • first 将焦点移动到树中的第一个叶窗格。
  • previous 将焦点移动到当前窗格之前最近使用的窗格。
  • nextInOrderpreviousInOrder 按创建顺序将焦点移动到下一个或上一个窗格。

Move-pane 命令

用于在窗口中移动窗格。 另请参阅 movePane 操作

命令 参数 说明
move-panemp --tab,-t <index> 将活动窗格移动到窗口中的给定选项卡 要将窗格移动到的选项卡的零索引索引。

Swap-pane 命令

用于交换窗口中两个窗格的位置。 另请参阅 swapPane 操作

命令 参数 说明
swap-pane <direction> 将窗格与给定方向的窗格交换 有关接受的 direction 值,请参阅下文

接受的 direction 值(这些值与 move-focus 子命令的值相同)

  • updownleftright:将活动窗格与给定方向的窗格交换。
  • first:将活动窗格与树中的第一个叶窗格交换。
  • previous:将活动窗格与当前窗格之前最近使用的窗格交换。
  • nextInOrderpreviousInOrder:按创建顺序将活动窗格与下一个或上一个窗格交换。

命令行参数示例

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

将参数传递给默认 shell

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

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

wt ping learn.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 终端)关闭。 请注意,这与命令提示符的行为不同,后者会立即返回到提示符。

将 Windows 终端可执行文件添加到路径

要将 Windows 终端可执行文件 (wt.exe) 添加到路径,请在 Windows 设置的“管理应用执行别名”页中启用“应用执行别名”。 Windows 终端别名默认处于打开状态,但如果你在访问别名时遇到问题,则可能需要确认一下。

如果在访问应用执行别名时仍然遇到问题,则可能需要检查路径是否包含:%LOCALAPPDATA%\Microsoft\WindowsApps。 请勿尝试更改 C:\Program Files\WindowsApps

Windows Settings for App Execution Aliases