使用 Windows 终端的命令行参数
可以使用 wt.exe
从命令行打开 Windows 终端的新实例。 还可以改为使用执行别名 wt
。
注意
如果从 GitHub 上的源代码生成了 Windows 终端,则可以使用 wtd.exe
或 wtd
打开该生成。
命令行语法
wt
命令行接受两种类型的值:“选项”和“命令” 。 “选项”是一系列标志和其他参数,可以将 wt
命令行的行为作为一个整体来控制。 “命令”提供应该实现的操作或操作列表(以分号分隔)。 如果未指定命令,则默认情况下会将命令指定为 new-tab
。
wt [options] [command ; ]
备注
wt.exe
命令的行为可能会受到 windowingBehavior
属性的影响。 此设置可调整为打开新窗口或打开新标签页之间的默认设置。
若要显示列出可用命令行参数的帮助消息,请输入:wt -h
、wt --help
、wt -?
或 wt /?
。
选项和命令
下面是 wt
命令行支持的命令和选项的完整列表。
选项 | 说明 |
---|---|
--help, -h, -?, /? |
显示帮助消息。 |
--maximized, -M |
以最大化形式启动终端。 |
--fullscreen, -F |
以全屏形式启动终端。 |
--focus, -f |
在焦点模式下启动终端。 可以与 maximized 结合使用。 |
--pos x,y |
在给定位置启动终端。 x 或 y 可以省略,以使用设置中的默认值。 |
--size c,r |
启动包含指定数目的列 (c ) 和行 (r ) 的终端。 |
--window, -w window-id |
在特定窗口中运行给定的命令。 |
--window
参数可用于将命令发送到现有终端窗口。
window-id
可以是窗口的整数 ID,也可以是窗口的名称。 也接受以下保留值:
new
或-1
:始终在新窗口中运行此命令last
或0
:始终在最近使用的窗口中运行此命令
如果不存在具有给定 window-id
的窗口,则将使用该 ID/名称创建新窗口。
例如,运行 wt -w _quake
将打开一个新的“quake 窗口”。 再次运行该命令将在现有 quake 窗口中打开一个新选项卡。
New tab 命令
用于创建新选项卡。另请参阅 newTab
操作。
命令 | 参数 | 说明 | 值 |
---|---|---|---|
%> | --profile, -p profile-name |
根据分配的配置文件名称创建一个新选项卡。 | 配置文件名称 |
%> | --startingDirectory, -d starting-directory |
根据分配的起始目录路径创建一个新选项卡。 | 目录路径 |
%> | commandline |
根据分配的命令行创建一个新选项卡。 | 包含可选命令的可执行文件 |
%> | --title |
创建分配了标题的新选项卡。 | 用作选项卡标题的文本 |
%> | --tabColor |
创建分配有选项卡颜色的新选项卡。 | 十六进制颜色为 #RGB 或 #RRGGBB |
%> | --suppressApplicationTitle |
重写配置文件的 suppressApplicationTitle 设置,并将其设置为 true |
|
%> | --useApplicationTitle |
重写配置文件的 suppressApplicationTitle 设置,并将其设置为 false |
|
%> | --colorScheme scheme-name |
覆盖配置文件的 colorScheme 设置,并将其设置为名称为 scheme-name 的设置中的方案 |
设置中配色方案的名称 |
提示
如果在 Windows 终端中更改选项卡的标题并希望该标题保持不变,则必须通过将其设置为 true
来启用 suppressApplicationTitle 选项。
Split-pane 命令
用于创建新的拆分窗格。 另请参阅 splitPane
操作。
命令 | 参数 | 说明 | 值 |
---|---|---|---|
%> | %> | 水平或垂直创建新的拆分窗口窗格。 | 不适用。 没有其他值要分配。 |
%> | --profile, -p profile-name |
根据分配的命令行配置文件创建一个新的拆分窗口窗格。 如果未分配此参数,则将使用默认配置文件。 | 配置文件名称 |
%> | --startingDirectory, -d starting-directory |
根据分配的起始目录路径创建一个新的拆分窗口窗格。 如果未分配此参数,则将使用默认起始目录。 | 目录路径 |
%> | --title |
创建一个带有已分配标题的新拆分窗口窗格。 | 用作选项卡标题的文本 |
%> | --tabColor |
创建一个已分配选项卡颜色的新拆分窗口窗格。 | 十六进制颜色为 #RGB 或 #RRGGBB |
%> | --size, -s size |
创建一个已分配大小的新拆分窗口窗格。 | 浮点数,指定用小数表示的父窗格部分。 例如,.4 表示父窗格的 40%。 |
%> | commandline |
根据分配的命令行创建一个新的拆分窗口窗格。 | 包含可选命令的可执行文件 |
%> | --duplicate, -D |
创建一个新的拆分窗口窗格,该窗格是当前窗格的副本。 | 不适用。 没有其他值要分配。 |
%> | --suppressApplicationTitle |
重写配置文件的 suppressApplicationTitle 设置,并将其设置为 true |
|
%> | --useApplicationTitle |
重写配置文件的 suppressApplicationTitle 设置,并将其设置为 false |
|
%> | --colorScheme scheme-name |
覆盖配置文件的 colorScheme 设置,并将其设置为名称为 scheme-name 的设置中的方案 |
设置中配色方案的名称 |
Focus-tab 命令
用于聚焦窗口中的特定选项卡。 另请参阅 switchToTab
操作。
命令 | 参数 | 说明 | 值 |
---|---|---|---|
%> | --target, -t tab-index |
根据选项卡索引号,重点关注特定选项卡。 | 选项卡索引为整数 |
Move-focus 命令
用于在窗口中移动焦点。 另请参阅 moveFocus
操作。
命令 | 参数 | 说明 | 值 |
---|---|---|---|
%> | <direction> |
在各个窗格之间移动焦点。 | 有关接受的 direction 值,请参阅下文 |
接受的 direction
值
up
、down
、left
或right
在给定方向上移动焦点。first
将焦点移动到树中的第一个叶窗格。previous
将焦点移动到当前窗格之前最近使用的窗格。nextInOrder
、previousInOrder
按创建顺序将焦点移动到下一个或上一个窗格。
Move-pane 命令
用于在窗口中移动窗格。 另请参阅 movePane
操作。
命令 | 参数 | 说明 | 值 |
---|---|---|---|
%> | --tab,-t <index> |
将活动窗格移动到窗口中的给定选项卡 | 要将窗格移动到的选项卡的零索引索引。 |
Swap-pane 命令
用于交换窗口中两个窗格的位置。 另请参阅 swapPane
操作。
命令 | 参数 | 说明 | 值 |
---|---|---|---|
swap-pane |
<direction> |
将窗格与给定方向的窗格交换 | 有关接受的 direction 值,请参阅下文 |
接受的 direction
值(这些值与 move-focus
子命令的值相同)
up
、down
、left
或right
:将活动窗格与给定方向的窗格交换。first
:将活动窗格与树中的第一个叶窗格交换。previous
:将活动窗格与当前窗格之前最近使用的窗格交换。nextInOrder
、previousInOrder
:按创建顺序将活动窗格与下一个或上一个窗格交换。
命令行参数示例
命令可能会略有不同,具体取决于所使用的命令行。
将参数传递给默认 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-tab
和 split-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
。