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-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
oder0
: 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 suppressApplicationTitle -Einstellung des Profils und legt sie auf true fest. |
|
new-tab , nt |
--useApplicationTitle |
Überschreibt die suppressApplicationTitle -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 suppressApplicationTitle -Einstellung des Profils und legt sie auf true fest. |
|
split-pane , sp |
--useApplicationTitle |
Überschreibt die suppressApplicationTitle -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
oderright
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
oderright
: 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 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.
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 Terminal