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.
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-window
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. |
--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 true
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 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. |
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 wt cmd
, 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 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 anwt
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.