Verwenden von Befehlszeilenargumenten für Windows Terminal

Sie können wt.exe verwenden, um eine neue Instanz von Windows Terminal über die Befehlszeile zu öffnen. Sie können stattdessen auch den Ausführungsalias wt verwenden.

Hinweis

Wenn Sie Windows Terminal aus dem Quellcode auf GitHub erstellt haben, können Sie diesen Build mit oder wtd öffnen.

Windows Terminal command line argument for split panes

Befehlszeilensyntax

Die wt-Befehlszeile akzeptiert zwei Arten von Werten: wt und Befehle. Optionen sind eine Liste von Flags und anderen Parametern, die das Verhalten der -Befehlszeile als Ganzes steuern können. Befehle geben die Aktion oder eine durch Semikolon getrennte Liste von Aktionen an, die ausgeführt werden sollen. Wenn Sie keinen Befehl angeben, wird new-tab standardmäßig als Befehl angenommen.

wt [options] [command ; ]

Geben Sie Folgendes ein, um eine Hilfemeldung mit den verfügbaren Befehlszeilenargumenten anzuzeigen: wt -h, wt --help, wt -? oder wt /?.

Optionen und Befehle

Im Folgenden finden Sie die vollständige Liste der unterstützten Befehle und Optionen für die wt-Befehlszeile.

Option Beschreibung
--help, -h, -?, /? Zeigt die Hilfemeldung an.
--maximized, -M Öffnet das Terminal maximiert.
--fullscreen, -F Öffnet das Terminal im Vollbildmodus.
--focus, -f Startet das Terminal im Fokusmodus. Kann nicht mit maximized kombiniert werden.
--window, -w<window-id> Startet das Terminal in einem bestimmten Fenster.

New-tab-Befehl

Befehl Parameter Beschreibung Werte
new-tab, nt --profile, -p profile-name Erstellt eine neue Registerkarte basierend auf dem zugewiesenen Profilnamen. Profilname
new-tab, nt --startingDirectory, -d starting-directory Erstellt eine neue Registerkarte basierend auf dem zugewiesenen Startverzeichnispfad. Verzeichnispfad
new-tab, nt commandline Erstellt eine neue Registerkarte basierend auf der zugewiesenen Befehlszeile. Ausführbare Datei mit optionalen Befehlen
new-tab, nt --title Erstellt eine neue Registerkarte mit dem zugewiesenen Titel. Text, der als Registerkartentitel verwendet werden soll
new-tab, nt --tabColor Erstellt eine neue Registerkarte mit zugewiesener Registerkartenfarbe. Hexadezimalfarbe als #RGB oder #RRGGBB

Tipp

Wenn Sie den Titel einer Registerkarte in Windows-Terminal ändern und diesen Titel beibehalten möchten, müssen Sie die Option suppressApplicationTitle aktivieren, indem Sie sie auf festlegen.

Split-pane-Befehl

Befehl Parameter Beschreibung Werte
split-pane, sp -H, --horizontal, -V, --vertical Erstellt einen neuen entweder horizontal oder vertikal geteilten Fensterbereich. N/V. Es müssen keine zusätzlichen Werte zugewiesen werden.
split-pane, sp --profile, -p profile-name Erstellt einen neuen geteilten Fensterbereich basierend auf dem zugewiesenen Befehlszeilenprofil. Wenn dieser Parameter nicht zugewiesen ist, wird das Standardprofil verwendet. Profilname
split-pane, sp --startingDirectory, -d starting-directory Erstellt einen neuen geteilten Fensterbereich basierend auf dem zugewiesenen Startverzeichnispfad. Wenn dieser Parameter nicht zugewiesen ist, wird das Standardstartverzeichnis verwendet. Verzeichnispfad
split-pane, sp --title Erstellt einen neuen geteilten Fensterbereich mit dem zugewiesenen Titel. Text, der als Registerkartentitel verwendet werden soll
split-pane, sp --tabColor Erstellt einen neuen geteilten Fensterbereich mit der zugewiesenen Registerkartenfarbe. Hexadezimalfarbe als #RGB oder #RRGGBB
split-pane, sp --size, -s size Erstellt einen neuen geteilten Fensterbereich mit der zugewiesenen Größe. Gleitkommazahl, die den zu verwendenden Teil des übergeordneten Bereichs angibt
split-pane, sp commandline Erstellt einen neuen geteilten Fensterbereich basierend auf der zugewiesenen Befehlszeile. Ausführbare Datei mit optionalen Befehlen
split-pane, sp --duplicate, -D Erstellt einen neuen geteilten Fensterbereich, der ein Duplikat des aktuellen Bereichs ist. N/V. Es müssen keine zusätzlichen Werte zugewiesen werden.

Focus-tab-Befehl

Befehl Parameter Beschreibung Werte
focus-tab, ft --target, -t tab-index Legt den Fokus auf eine bestimmte Registerkarte entsprechend der Registerkartenindexnummer. Registerkartenindex als ganze Zahl

Move-focus-Befehl

Befehl Parameter Beschreibung Werte
move-focus, mf direction Verschieben Sie den Fokus zwischen Bereichen in der angegebenen Richtung. Die Werte up, down, left oder right werden akzeptiert.

Hinweis

Wenn Sie Windows-Terminal über cmd (Eingabeaufforderung) öffnen und Ihre benutzerdefinierten cmd-Profileinstellungen verwenden möchten, müssen Sie den Befehl wt -p cmd verwenden. Verwenden Sie andernfalls einfach , um Ihre Standardprofileinstellungen auszuführen.

Beispiele für Befehlszeilenargumente

Die Befehle können leicht variieren, je nachdem, welche Befehlszeile Sie verwenden.

Übergeben eines Arguments an die Standardshell

Um eine Instanz von Windows-Terminal zu starten und einen Befehl auszuführen, rufen Sie wt.exe gefolgt von dem betreffenden Befehl auf.

In diesem Beispiel wird Windows-Terminal aufgerufen, um ein ping-Befehlsargument für das Echo einer IP-Adresse zu übergeben:

wt ping docs.microsoft.com

In diesem Beispiel wird Windows-Terminal aufgerufen, um eine neue Registerkarte mit einer PowerShell-Befehlszeile zu öffnen und damit den Aufruf des Befehls Start-Service zu bestätigen und eine weitere neue Registerkarte mit der Windows-Eingabeaufforderung im Verzeichnis zu öffnen:

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

Ziel eines bestimmten Fensters

Im Folgenden finden Sie Beispiele dafür, wie bestimmte Fenster mithilfe der Option --window,-w als Ziel verwendet werden.

// 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

Eine neue Profilinstanz öffnen

Geben Sie Folgendes ein, um eine neue Terminalinstanz zu öffnen. In diesem Fall öffnet der Befehl das Profil mit dem Namen „Ubuntu-18.04“:

wt -p "Ubuntu-18.04"

Das -p-Flag wird verwendet, um das zu öffnende Windows Terminal-Profil anzugeben. Ersetzen Sie „Ubuntu-18.04“ durch den Namen eines beliebigen Terminalprofils, das Sie installiert haben. Dadurch wird immer ein neues Fenster geöffnet. Windows Terminal ist noch nicht in der Lage, neue Registerkarten oder Bereiche in einer vorhandenen Instanz zu öffnen.

Auswählen eines Zielverzeichnisses

Geben Sie Folgendes ein, um den Ordner anzugeben, der als Startverzeichnis für die Konsole verwendet werden soll (in diesem Fall das Verzeichnis „d:\“):

wt -d d:\

Mehrere Registerkarten

Geben Sie Folgendes ein, um eine neue Terminalinstanz mit mehreren Registerkarten zu öffnen:

wt ; ;

Geben Sie zum Öffnen einer neuen Terminalinstanz mit mehreren Registerkarten, in diesem Fall ein Eingabeaufforderungsprofil und ein PowerShell-Profil, Folgendes ein:

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

Mehrere Bereiche

Geben Sie Folgendes ein, um eine neue Terminalinstanz mit einer Registerkarte zu öffnen, die drei Bereiche enthält, in denen ein Eingabeaufforderungsprofil, ein PowerShell-Profil und Ihr Standardprofil mit einer WSL-Befehlszeile ausgeführt wird:

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

Das Flag -H (oder --horizontal) gibt an, dass die Bereiche horizontal geteilt werden sollen. Das Flag -V (oder --vertical) gibt an, dass die Bereiche vertikal geteilt werden sollen.

Mehrere Registerkarten und Bereiche

Die Befehle new-tab und split-pane können sequenziert werden, um mehrere Registerkarten mit jeweils geteilten Bereichen abzurufen. Um eine neue Terminalinstanz mit zwei Registerkarten zu öffnen, die jeweils über zwei Bereiche mit einer Eingabeaufforderung und einer WSL-Befehlszeile verfügen, wobei jede Registerkarte in einem anderen Verzeichnis ausgeführt wird, geben Sie Folgendes ein:

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

Registerkartentitel

Um eine neue Terminalinstanz mit benutzerdefinierten Registerkartentiteln zu öffnen, verwenden Sie das --title-Argument. Um beim Öffnen von zwei Registerkarten die Titel beider Registerkarten festzulegen, geben Sie Folgendes ein:

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

Verwenden eines Anwendungstitels

Verwenden Sie das -Flag --useApplicationTitle, um eine neue Terminalinstanz zu öffnen, mit der die darin enthaltenen Anwendungen den Registerkartentitel durch Senden von Titeländerungsmeldungen festlegen können. Um diese Meldungen zu unterdrücken, verwenden Sie das Flag --suppressApplicationTitle. Wenn keines dieser Flags bereitgestellt wird, wird das Verhalten von den Einstellungen des Profils geerbt. Geben Sie zum Öffnen einer Registerkarte mit dem Titel tabname, der von der Anwendung überschrieben nicht wird, Folgendes ein:

wt --title tabname --suppressApplicationTitle

Registerkartenfarbe

Um eine neue Terminalinstanz mit benutzerdefinierten Registerkartenfarben zu öffnen, verwenden Sie das --tabColor-Argument. Dieses Argument setzt den im Profil definierten Wert außer Kraft, kann aber auch mithilfe der Registerkartenfarbauswahl überschrieben werden. Im folgenden Beispiel wird ein neues Terminal mit zwei Registerkarten mit unterschiedlichen Farben erstellt:

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

Wenn --tabColor für eine Registerkarte festgelegt ist, wird sie dem ersten Bereich dieser Registerkarte zugeordnet. Daher wird die Farbe auf einer Registerkarte mit mehreren Bereichen nur angewendet, wenn sich der Fokus auf dem ersten Bereich befindet. Um die Registerkartenfarbe für weitere Bereiche festzulegen, müssen Sie den Parameter --tabColor auch dem Unterbefehl split-pane hinzufügen. Im folgenden Beispiel wird eine Registerkarte mit zwei Bereichen erstellt, auf der Registerkartenfarben für jeden Bereich angegeben sind:

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

Farbschema

Verwenden Sie das Argument --colorScheme, um eine neue Terminalinstanz mit einem bestimmten Farbschema (anstelle des im Profil festgelegten colorScheme) zu öffnen. Dieses Argument überschreibt den im Profil definierten Wert.

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

Registerkartenfokus

Verwenden Sie das Flag -t (oder --target) zusammen mit der Indexnummer der Registerkarte, um eine neue Terminalinstanz mit Fokus auf eine bestimmte Registerkarte zu öffnen. Geben Sie Folgendes ein, um Ihr Standardprofil auf der ersten Registerkarte und das auf der zweiten Registerkarte fokussierte Profil „Ubuntu-18.04“ (-t 1) zu öffnen:

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

Beispiele für mehrere Befehle von PowerShell

Windows Terminal verwendet das Semikolon (;) als Trennzeichen für Befehle in der wt-Befehlszeile. Leider verwendet auch PowerShell ; als Befehlstrennzeichen. Um dieses Problem zu umgehen, können Sie die folgenden Tricks verwenden, um mehrere wt-Befehle von PowerShell auszuführen. In allen folgenden Beispielen wird ein neues Terminalfenster mit drei Bereichen erstellt: Ein Bereich, in dem die Eingabeaufforderung ausgeführt wird, ein Bereich mit PowerShell und der letzte Bereich mit WSL.

In den folgenden Beispielen wird der Start-Process-Befehl verwendet, um wt auszuführen. Weitere Informationen dazu, warum das Terminal Start-Process verwendet, finden Sie nachfolgend unter Start-Process.

Parameter in einfachen Anführungszeichen

In diesem Beispiel werden die wt-Parameter in einfache Anführungszeichen (') eingeschlossen. Diese Syntax ist hilfreich, wenn keine Berechnungen durchgeführt werden.

start wt 'new-tab "cmd" ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe'

Anführungszeichen mit Escapezeichen

Verwenden Sie die folgende Syntax, wenn Sie einen in einer Variablen enthaltenen Wert an die wt-Befehlszeile übergeben:

$ThirdPane = "wsl.exe"
start wt "new-tab cmd ; split-pane -p `"Windows PowerShell`" ; split-pane -H $ThirdPane"

Beachten Sie die Verwendung von ` als Escapezeichen für die doppelten Anführungszeichen (") von "Windows PowerShell" im -p-Parameter für den Parameter split-pane.

Verwenden von start

In allen obigen Beispielen wurde explizit start verwendet, um das Terminal zu starten.

Die folgenden Beispiele verwenden nicht start, um die Befehlszeile auszuführen. Stattdessen gibt es zwei weitere Methoden, um Escapezeichen in der Befehlszeile zu verwenden:

  • Die Semikolons werden nur mit Escapezeichen versehen, damit sie von PowerShell ignoriert und direkt an wt weitergegeben werden.
  • Wenn Sie --% verwenden, behandelt PowerShell den Rest der Befehlszeile als Argumente für die Anwendung.
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

In beiden Beispielen erstellt das neu erstellte Windows Terminal-Fenster das Fenster durch die ordnungsgemäße Analyse aller angegebenen Befehlszeilenargumente.

Diese Methoden werden derzeit jedoch nicht empfohlen, da PowerShell auf das Schließen des neu erstellten Terminalfensters wartet, bevor die Kontrolle an PowerShell zurückgegeben wird. Standardmäßig wartet PowerShell immer auf das Schließen von Windows Store-Anwendungen (wie Windows Terminal), bevor es zur Eingabeaufforderung zurückkehrt. Beachten Sie, dass dies nicht dem Verhalten der Eingabeaufforderung entspricht, bei dem sofort zur Eingabeaufforderung zurückkehrt wird.