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 wtd.exe oder wtd öffnen.

Windows Terminal command line argument for split panes

Befehlszeilensyntax

Die wt-Befehlszeile akzeptiert zwei Arten von Werten: Optionen und Befehle. Optionen sind eine Liste von Flags und anderen Parametern, die das Verhalten der wt-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 ; ]

Hinweis

Das Verhalten des Befehls wt.exe wird möglicherweise durch die windowingBehavior-Eigenschaft beeinflusst. Der Standardwert für diese Einstellung kann wahlweise auf das Öffnen eines neuen Fensters oder das Öffnen einer neuen Registerkarte festgelegt werden.

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.
--pos x,y Startet das Terminal an der angegebenen Position. x oder y kann weggelassen werden, um den Standardwert aus den Einstellungen zu verwenden.
--size c,r Startet das Terminal mit der angegebenen Anzahl von Spalten (c) und Zeilen (r).
--window, -w window-id Führt den angegebenen Befehl in einem bestimmten Fenster aus.

Der Parameter --window kann verwendet werden, um Befehle an vorhandene Terminalfenster zu senden.

window-id kann entweder die ganzzahlige ID eines Fensters oder der Name eines Fensters sein. Auch die folgenden reservierten Werte werden akzeptiert:

  • new oder -1: Führen Sie diesen Befehl immer in einem neuen Fenster aus.
  • last oder 0: Führen Sie diesen Befehl immer im zuletzt verwendeten Fenster aus.

Wenn kein Fenster mit der angegebenen Fenster-ID (window-id) vorhanden ist, wird ein neues Fenster mit dieser ID/diesem Namen erstellt.

Wenn Sie beispielsweise wt -w _quake ausführen, wird ein neues Quake-Fenster geöffnet. Wenn Sie diesen Befehl erneut ausführen, wird eine neue Registerkarte im vorhandenen Quake-Fenster geöffnet.

Befehl für neue Registerkarte

Wird verwendet, um eine neue Registerkarte zu erstellen. Sehen Sie sich auch die newTab-Aktion an.

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
new-tab, nt --suppressApplicationTitle Überschreibt die suppressApplicationTilte-Einstellung des Profils und legt sie auf true fest.
new-tab, nt --useApplicationTitle Überschreibt die suppressApplicationTilte-Einstellung des Profils und legt sie auf false fest.
new-tab, nt --colorScheme scheme-name Überschreibt die colorScheme-Einstellung des Profils und legt sie auf das Schema aus den Einstellungen mit dem Namen scheme-name fest. Der Name eines Farbschemas in den Einstellungen

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 true festlegen.

Befehl für geteilten Bereich

Wird verwendet, um einen neuen geteilten Bereich zu erstellen. Sehen Sie sich auch die splitPane-Aktion an.

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 Teil des übergeordneten Bereichs angibt, der durch ein Dezimaltrennzeichen dargestellt werden soll. Beispielsweise .4, um 40 % des übergeordneten Bereichs anzuzeigen.
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.
split-pane, sp --suppressApplicationTitle Überschreibt die suppressApplicationTilte-Einstellung des Profils und legt sie auf true fest.
split-pane, sp --useApplicationTitle Überschreibt die suppressApplicationTilte-Einstellung des Profils und legt sie auf false fest.
split-pane, sp --colorScheme scheme-name Überschreibt die colorScheme-Einstellung des Profils und legt sie auf das Schema aus den Einstellungen mit dem Namen scheme-name fest. Der Name eines Farbschemas in den Einstellungen

Befehl für Registerkartenfokus

Wird verwendet, um den Fokus auf eine bestimmte Registerkarte innerhalb des Fensters zu legen. Sehen Sie sich auch die switchToTab-Aktion an.

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

Befehl zum Verschieben des Fokus

Wird verwendet, um den Fokus innerhalb des Fensters zu verschieben. Sehen Sie sich auch die moveFocus-Aktion an.

Befehl Parameter BESCHREIBUNG Werte
move-focus, mf <direction> Verschiebt den Fokus zwischen Bereichen. Zulässige Werte für direction finden Sie im Anschluss.

Zulässige Werte für direction

  • up, down, left oder right verschiebt den Fokus in der angegebenen Richtung.
  • first verschiebt den Fokus auf den ersten Blattbereich in der Struktur.
  • previous verschiebt den Fokus auf den zuletzt verwendeten Bereich vor dem aktuellen Bereich.
  • nextInOrder bzw. previousInOrder verschiebt den Fokus auf den nächsten bzw. vorherigen Bereich (in der Reihenfolge der Erstellung).

Befehl „move-pane“

Wird zum Verschieben eines Bereichs innerhalb des Fensters verwendet. Sehen Sie sich auch die movePane-Aktion an.

Befehl Parameter BESCHREIBUNG Werte
move-pane, mp --tab,-t <index> Verschiebt den aktiven Bereich auf die angegebene Registerkarte im Fenster. Der nullindizierte Index der Registerkarte, auf die der Bereich verschoben werden soll

Befehl „swap-pane“

Wird verwendet, um die Position von zwei Bereichen innerhalb des Fensters zu tauschen. Sehen Sie sich auch die swapPane-Aktion an.

Befehl Parameter BESCHREIBUNG Werte
swap-pane <direction> Tauscht den Bereich mit dem Bereich in der angegebenen Richtung. Zulässige Werte für direction finden Sie im Anschluss.

Zulässige Werte für direction (Dies sind dieselben Werte wie für den Unterbefehl move-focus.)

  • up, down, left oder right: Tauscht den aktiven Bereich mit dem Bereich in der angegebenen Richtung.
  • first: Tauscht den aktiven Bereich mit dem ersten Blattbereich in der Struktur.
  • previous: Tauscht den aktiven Bereich mit dem zuletzt verwendeten Bereich vor dem aktuellen Bereich.
  • nextInOrder, previousInOrder: Tauscht den aktiven Bereich mit dem nächsten oder vorherigen Bereich (in der Reihenfolge der Erstellung).

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 learn.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 /k 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

Bereichstitel

Um eine neue Terminalinstanz mit benutzerdefinierten Titeln für jeden Terminalbereich zu öffnen, verwenden Sie das --title-Argument. Um beim Öffnen von mehreren Registerkarten die Titel jedes Bereichs festzulegen, geben Sie Folgendes ein:

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

Bereiche in derselben Registerkarte können unterschiedliche Titel haben, welche Einfluss auf den Registerkartentitel haben, je nachdem welcher Bereich den Fokus hat. Um unabhängige Bereiche zu benennen, können Sie Folgendes eingeben, um den Titel nach dem Teilen der Bereiche festzulegen:

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

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.

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.

Hinzufügen einer ausführbaren Datei für Windows-Terminal zum Pfad

Um die ausführbare Datei für Windows-Terminal (wt.exe) zu Ihrem Pfad hinzuzufügen, aktivieren Sie den „App-Ausführungsalias“ für Terminal in den Windows-Einstellungen auf der Seite App-Ausführungsalias verwalten. Der Windows-Terminal-Alias ist standardmäßig aktiviert, es kann sich jedoch lohnen, sich zu vergewissern, ob beim Zugriff darauf Probleme auftreten.

Wenn weiterhin Probleme beim Zugriff auf App-Ausführungsaliase auftreten, müssen Sie möglicherweise überprüfen, ob Ihr Pfad %LOCALAPPDATA%\Microsoft\WindowsApps enthält. Versuchen Sie nicht, C:\Program Files\WindowsApps zu ändern.

Windows Settings for App Execution Aliases