Verwenden von Befehlszeilenargumenten für Windows Terminal

  • 02/25/2021
  • 11 minuten zum Lesen
    • c
    • m
    • z
    • T
    • T
    • +1

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-Befehlszeilenargument für geteilte Fenster

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 Befehlszeile wt als Ganzes steuern können. Befehle geben die Aktion oder Liste der durch Semikolons getrennten Aktionen an, die implementiert werden sollen. Wenn kein Befehl angegeben ist, wird der Befehl standardmäßig als new-tab angenommen.

wt 

Um eine Hilfemeldung mit den verfügbaren Befehlszeilenargumenten anzuzeigen, geben Sie: wt -h, wt --help, wt -?, oder wt /?.

Optionen und Befehle

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

Option Beschreibung
--help, -h, -?, /? Zeigt die Hilfemeldung an.
--maximized, -M Startet das Terminal maximiert.
--fullscreen, -F Startet das Terminal als Vollbild.
--focus, -f Startet das Terminal im Fokusmodus. Kombinierbar mit maximized.
--window, -w <window-id> Startet das Terminal in einem bestimmten Fenster.
Befehl Parameter Beschreibung
new-tab, nt --profile, -p profile-name, --startingDirectory, -d starting-directory, commandline, --title, --tabColor Erstellt eine neue Registerkarte.
split-pane, sp -H, --horizontal, -V, --vertical, --profile, -p profile-name, --startingDirectory, -d starting-directory, --title, --tabColor, --size, -s size, commandline Teilt einen neuen Bereich.
focus-tab, ft --target, -t tab-index Konzentriert sich auf eine bestimmte Registerkarte.
move-focus, mf direction Verschieben Sie den Fokus zwischen den Bereichen in die angegebene Richtung. Akzeptiert einen von up, down, left, right.

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. Andernfalls verwenden Sie zum Ausführen Ihrer Standardprofileinstellungen einfach wt cmd .

Beispiele für Befehlszeilenargumente

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

Zielen Sie auf ein bestimmtes Fenster ab

Im Folgenden finden Sie Beispiele dafür, wie Sie mit der Option --window,-w auf bestimmte Fenster abzielen.

  • Eingabeaufforderung
  • PowerShell
  • Linux
// Open a new tab with the default profile in the current windowwt -w 0 nt// Open a new tab in a new window with the default profilewt -w -1 nt// Open a new tab in the first-created terminal window with the default profilewt -w 1 nt
// Open a new tab with the default profile in the current windowwt -w 0 nt// Open a new tab in a new window with the default profilewt -w -1 nt// Open a new tab in the first-created terminal window with the default profilewt -w 1 nt
// Open a new tab with the default profile in the current windowcmd.exe /c "wt.exe" -w 0 nt// Open a new tab in a new window with the default profilecmd.exe /c "wt.exe" -w -1 nt// Open a new tab in the first-created terminal window with the default profilecmd.exe /c "wt.exe" -w 1 nt

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden.

Öffnen Sie eine neue Profilinstanz

Um eine neue Terminalinstanz zu öffnen, öffnet der Befehl in diesem Fall das Profil mit dem Namen „Ubuntu-18.04“, geben Sie ein:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt -p "Ubuntu-18.04"
wt -p "Ubuntu-18.04"
cmd.exe /c "wt.exe" -p "Ubuntu-18.04"

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden.

Das Flag -p wird verwendet, um das Windows-Terminalprofil anzugeben, das geöffnet werden soll. 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 Fenster in einer vorhandenen Instanz zu öffnen.

Zielverzeichnis

Um den Ordner anzugeben, der als Startverzeichnis für die Konsole verwendet werden soll, in diesem Fall das Verzeichnis d:\, geben Sie Folgendes ein:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt -d d:\
wt -d d:\
cmd.exe /c "wt.exe" -d d:\

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden.

Mehrere Registerkarten

Um eine neue Terminalinstanz mit mehreren Registerkarten zu öffnen, geben Sie Folgendes ein:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt ; ;
wt `; `;

PowerShell verwendet ein Semikolon ; um Aussagen abzugrenzen. Um ein Semikolon zu interpretieren ; Als Befehlstrennzeichen für wt-Befehlszeilenargumente müssen Sie Semikolonzeichen mithilfe von Backticks maskieren. PowerShell hat auch den stop parsing Operator (–%) , der es anweist, die Interpretation von irgendetwas danach zu stoppen und es einfach wörtlich weiterzugeben.

cmd.exe /c "wt.exe" \; \;

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden.

Um eine neue Terminalinstanz mit mehreren Registerkarten zu öffnen, in diesem Fall ein Eingabeaufforderungsprofil und ein PowerShell-Profil, geben Sie Folgendes ein:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt -p "Command Prompt" ; new-tab -p "Windows PowerShell"
wt -p "Command Prompt" `; new-tab -p "Windows PowerShell"

PowerShell verwendet ein Semikolon ; um Anweisungen abzugrenzen. Um ein Semikolon zu interpretieren ; Als Befehlstrennzeichen für wt-Befehlszeilenargumente müssen Sie Semikolonzeichen mithilfe von Backticks maskieren. PowerShell hat auch den stop parsing Operator (–%) , der es anweist, die Interpretation von irgendetwas danach zu stoppen und es einfach wörtlich weiterzugeben.

cmd.exe /c "wt.exe" -p "Command Prompt" \; new-tab -p "Windows PowerShell"

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden, und die Befehle \; Backslash + Semikolon trennen.

Mehrere Bereiche

Um eine neue Terminalinstanz mit einer Registerkarte mit drei Bereichen zu öffnen, in denen ein Eingabeaufforderungsprofil, ein PowerShell-Profil und Ihr Standardprofil mit einer WSL-Befehlszeile ausgeführt werden, geben Sie Folgendes ein:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt -p "Command Prompt" ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe
wt -p "Command Prompt" `; split-pane -p "Windows PowerShell" `; split-pane -H wsl.exe

PowerShell verwendet ein Semikolon ; um Anweisungen abzugrenzen. Um ein Semikolon zu interpretieren ; Als Befehlstrennzeichen für wt-Befehlszeilenargumente müssen Sie Semikolonzeichen mithilfe von Backticks maskieren. PowerShell hat auch den stop parsing Operator (–%) , der es anweist, die Interpretation von irgendetwas danach zu stoppen und es einfach wörtlich weiterzugeben.

cmd.exe /c "wt.exe" -p "Command Prompt" \; split-pane -p "Windows PowerShell" \; split-pane -H wsl.exe

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden, und die Befehle \; Backslash + Semikolon trennen.

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

Mehrere Registerkarten und Fenster

Die Befehle new-tab und split-pane können sequenziert werden, um mehrere Registerkarten mit jeweils geteilten Fenstern zu erhalten. Um eine neue Terminalinstanz mit zwei Registerkarten mit jeweils zwei Fenstern zu öffnen, in denen eine Eingabeaufforderung und eine WSL-Befehlszeile ausgeführt werden, wobei sich jede Registerkarte in einem anderen Verzeichnis befindet, geben Sie Folgendes ein:

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

PowerShell verwendet ein Semikolon ; um Anweisungen abzugrenzen. Um ein Semikolon zu interpretieren ; Als Befehlstrennzeichen für wt-Befehlszeilenargumente müssen Sie Semikolonzeichen mithilfe von Backticks maskieren. PowerShell hat auch den stop parsing Operator (–%) , der es anweist, die Interpretation von irgendetwas danach zu stoppen und es einfach wörtlich weiterzugeben.

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

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden, und die Befehle \; Backslash + Semikolon trennen. Beachten Sie, dass zwei umgekehrte Schrägstriche \ erforderlich sind, um ein Windows-Verzeichnis als Startverzeichnis für wsl.exe anzugeben.

Registerkartentitel

Verwenden Sie das Argument --title, um eine neue Terminalinstanz mit benutzerdefinierten Registerkartentiteln zu öffnen. Um den Titel jeder Registerkarte beim Öffnen von zwei Registerkarten festzulegen, geben Sie Folgendes ein:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt --title tabname1 ; new-tab -p "Ubuntu-18.04" --title tabname2
wt --title tabname1 `; new-tab -p "Ubuntu-18.04" --title tabname2
cmd.exe /c "wt.exe" --title tabname1 \; new-tab -p "Ubuntu-18.04" --title tabname2

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden, und die Befehle \; Schrägstrich + Semikolon trennen.

Registerkartenfarbe

Verwenden Sie das Argument --tabColor, um eine neue Terminalinstanz mit benutzerdefinierten Registerkartenfarben zu öffnen. Dieses Argument überschreibt den im Profil definierten Wert, kann aber auch mit der Registerkarte Farbauswahl überschrieben werden. Im folgenden Beispiel wird ein neues Terminal mit zwei Registerkarten unterschiedlicher Farbe erstellt:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt --tabColor #009999 ; new-tab --tabColor #f59218
wt --tabColor #009999 ; new-tab --tabColor #f59218
cmd.exe /c "wt.exe" --tabColor #009999 \; new-tab --tabColor #f59218

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden, und \; trennt Befehle.

Wenn --tabColor für eine Registerkarte festgelegt ist, wird sie dem ersten Bereich dieser Registerkarte zugeordnet. Daher wird in einer Registerkarte mit mehreren Fenstern die Farbe nur angewendet, wenn der erste Bereich im Fokus ist. Um die Registerkartenfarbe für zusätzliche Bereiche festzulegen, müssen Sie auch den Parameter --tabColor zum Unterbefehl split-pane hinzufügen. Im folgenden Beispiel wird eine Registerkarte mit zwei Fenstern erstellt, wobei für jeden Bereich Registerkartenfarben angegeben sind:

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

Tab focus

Um eine neue Terminalinstanz mit einem bestimmten Tab im Fokus zu öffnen, verwenden Sie das Flag -t (oder --target) zusammen mit der Tab-Indexnummer. Um Ihr Standardprofil auf der ersten Registerkarte und das Profil „Ubuntu-18.04“ auf der zweiten Registerkarte (-t 1) zu öffnen, geben Sie Folgendes ein:

  • Eingabeaufforderung
  • PowerShell
  • Linux
wt ; new-tab -p "Ubuntu-18.04" ; focus-tab -t 1
wt `; new-tab -p "Ubuntu-18.04" `; focus-tab -t 1
cmd.exe /c "wt.exe" \; new-tab -p "Ubuntu-18.04" \; focus-tab -t 1

Ausführungsaliase funktionieren in WSL-Distributionen nicht. Wenn Sie wt verwenden möchten.exe von einer WSL-Befehlszeile aus, können Sie es direkt von CMD aus erzeugen, indem Sie cmd.exe ausführen. Die Option /c weist CMD an, nach dem Ausführen zu beenden, und die Befehle \; Backslash + Semikolon trennen.

Beispiele für mehrere Befehle aus PowerShell

Windows Terminal verwendet das Semikolonzeichen ; als Trennzeichen zum Trennen von Befehlen in der Befehlszeile wt. Leider verwendet PowerShell auch ; als Befehlstrennzeichen. Um dies zu umgehen, können Sie die folgenden Tricks verwenden, um mehrere wt -Befehle in PowerShell auszuführen. In allen folgenden Beispielen wird ein neues Terminalfenster mit drei Fenstern erstellt – einem mit Eingabeaufforderung, einem mit PowerShell und dem letzten mit WSL.

Die folgenden Beispiele verwenden den Befehl Start-Process, um wt auszuführen. Weitere Informationen darüber, warum das Terminal Start-Process verwendet, finden Sie unter Verwenden von start unten.

Parameter in einfachen Anführungszeichen

In diesem Beispiel werden die Parameter wt in einfache Anführungszeichen gesetzt ('). Diese Syntax ist nützlich, wenn nichts berechnet wird.

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

Escape-Anführungszeichen

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

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

Beachten Sie die Verwendung von `, um die doppelten Anführungszeichen (") um „Windows PowerShell“ im Parameter -p an den Parameter split-pane zu übergeben.

Start verwenden

Alle obigen Beispiele verwendeten explizit start, um das Terminal zu starten.

In den folgenden Beispielen wird start nicht zum Ausführen der Befehlszeile verwendet. Stattdessen gibt es zwei andere Methoden, um die Befehlszeile zu umgehen:

  • Maskieren Sie nur die Semikolons, sodass PowerShell sie ignoriert und direkt an wt .
  • Mit --% 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-Terminalfenster das Fenster, indem alle angegebenen Befehlszeilenargumente korrekt analysiert werden.

Diese Methoden werden derzeit jedoch nicht empfohlen, da PowerShell darauf wartet, dass das neu erstellte Terminalfenster geschlossen wird, bevor die Steuerung an PowerShell zurückgegeben wird. Standardmäßig wartet PowerShell immer auf das Schließen von Windows Store-Anwendungen (z. B. Windows Terminal), bevor Sie zur Eingabeaufforderung zurückkehren. Beachten Sie, dass sich dies vom Verhalten der Eingabeaufforderung unterscheidet, die sofort zur Eingabeaufforderung zurückkehrt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

More: