Windowsターミナルのコマンドライン引数の使用

  • 02/25/2021
  • 11 読むべき分
    • c
    • m
    • z
    • D
    • D
    • +1

コマンドラインからwt.exeを使用して、Windowsターミナルの新しいインスタンスを開くことができます。 代わりに実行エイリアスwtを使用することもできます。

GitHubのソースコードからWindowsターミナルをビルドした場合、wtd.exeまたはwtdを使用してそのビルドを開くことができます。

分割ペインのWindowsターミナルコマンドライン引数

コマンドライン構文

wtコマンドラインは、オプションとコマンドの2種類の値を受け入れます。 オプションは、wtコマンドライン全体の動作を制御することができるフラグおよびその他のパラメータのリストです。 コマンドは、実装する必要があるアクション、またはセミコロンで区切られたアクションのリストを提供します。 コマンドが指定されていない場合、コマンドはデフォルトでnew-tabであると見なされます。

wt 

使用可能なコマンドライン引数を一覧表示するヘルプメッセージを表示するには、次のように入力します: wt -h, wt --help, wt -?, またはwt /?

オプションとコマンド

以下は、wtコマンドラインでサポートされているコマンドとオプションの完全なリストです。

オプション 説明
--help, -h, -?, /? ヘルプメッセージを表示します。
--maximized, -M 端末を最大化して起動します。
--fullscreen, -F 端末をフルスクリーンとして起動します。
--focus, -f フォーカスモードで端末を起動します。 maximizedと組み合わせることができます。
--window, -w <window-id> 特定のウィンドウで端末を起動します。
コマンド パラメータ 説明
new-tab, nt --profile, -p profile-name, --startingDirectory, -d starting-directory, commandline, --title, --tabColor 新しいタブを作成します。
split-pane, sp -H, --horizontal, -V, --vertical, --profile, -p profile-name, --startingDirectory, -d starting-directory, --title, --tabColor, --size, -s size, commandline 新しいペインを分割します。
focus-tab, ft --target, -t tab-index 特定のタブに焦点を当てます。
move-focus, mf direction 指定された方向にペイン間でフォーカスを移動します。 次のいずれかを受け入れますup, down, left, right.

cmd(コマンドプロンプト)からWindowsターミナルを開くときに、カスタム”cmd”プロファイル設定を使用する場合は、コマンドwt -p cmdを使用する必要があります。 それ以外の場合は、デフォルトのプロファイル設定を実行するには、wt cmdを使用します。

コマンドライン引数の例

コマンドは、使用しているコマンドラインによって若干異なる場合があります。

特定のウィンドウをターゲットにする

以下は、--window,-wオプションを使用して特定のウィンドウをターゲットにする方法の例です。

  • コマンドプロンプト
  • 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

WSL配布では、実行エイリアスは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションは、CMDに実行後に終了するように指示します。

新しいプロファイルインスタンスを開く

新しいターミナルインスタンスを開くには、この場合、コマンドは”Ubuntu-18.04″という名前のプロファイルを開:

  • コマンドプロンプト
  • PowerShell
  • Linux
wt -p "Ubuntu-18.04"
wt -p "Ubuntu-18.04"
cmd.exe /c "wt.exe" -p "Ubuntu-18.04"

WSL配布では、実行エイリアスは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションは、CMDに実行後に終了するように指示します。

-pフラグは、開く必要があるWindowsターミナルプロファイルを指定するために使用されます。 インストールした端末プロファイルの名前を”Ubuntu-18.04″に置き換えます。 これは常に新しいウィンドウを開きます。 Windowsターミナルでは、既存のインスタンスで新しいタブまたはペインを開くことはできません。

Target a directory

コンソールの開始ディレクトリとして使用するフォルダ(この場合はd:\ディレクトリ)を指定するには、次のように入力します:

  • コマンドプロンプト
  • PowerShell
  • Linux
wt -d d:\
wt -d d:\
cmd.exe /c "wt.exe" -d d:\

WSL配布では、実行エイリアスは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションは、CMDに実行後に終了するように指示します。

複数のタブ

複数のタブを持つ新しいターミナルインスタンスを開くには、次のように入力します:

  • コマンドプロンプト
  • PowerShell
  • Linux
wt ; ;
wt `; `;

PowerShellではセミコロンを使用します ; 文を区切る。 Semicolon;を解釈するには、wtコマンドライン引数のコマンド区切り文字として、バッククォートを使用してセミコロン文字をエスケープする必要があります。 PowerShellには、構文解析の停止演算子(–%)もあり、その後の解釈を停止してそのまま渡すように指示します。

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

実行エイリアスはWSLディストリビューションでは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションは、CMDに実行後に終了するように指示します。

複数のタブを持つ新しいターミナルインスタンス(この場合はコマンドプロンプトプロファイルとPowerShellプロファイル)を開くには、次のように入力します:

  • コマンドプロンプト
  • PowerShell
  • Linux
wt -p "Command Prompt" ; new-tab -p "Windows PowerShell"
wt -p "Command Prompt" `; new-tab -p "Windows PowerShell"

PowerShellはセミコロンを使用します;ステートメントを区切るために。 Semicolon;を解釈するには、wtコマンドライン引数のコマンド区切り文字として、バッククォートを使用してセミコロン文字をエスケープする必要があります。 PowerShellには、構文解析の停止演算子(–%)もあり、その後の解釈を停止してそのまま渡すように指示します。

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

実行エイリアスはWSLディストリビューションでは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションはCMDに実行後に終了するように指示し、\;バックスラッシュ+セミコロンはコマンドを区切ります。

複数のペイン

コマンドプロンプトプロファイル、PowerShellプロファイル、およびWSLコマンドラインを実行している既定のプロファイルを実行している3つのペインを含む1つのタブで新しいターミナルインスタンスを開くには、次のように入力します:

  • コマンドプロンプト
  • 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はセミコロンを使用します;ステートメントを区切るために。 Semicolon;を解釈するには、wtコマンドライン引数のコマンド区切り文字として、バッククォートを使用してセミコロン文字をエスケープする必要があります。 PowerShellには、構文解析の停止演算子(–%)もあり、その後の解釈を停止してそのまま渡すように指示します。

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

実行エイリアスはWSLディストリビューションでは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションはCMDに実行後に終了するように指示し、\;バックスラッシュ+セミコロンはコマンドを区切ります。

-Hフラグ(または--horizontal)は、ペインを水平に分割することを示します。 -Vフラグ(または--vertical)は、ペインを垂直に分割することを示します。

複数のタブとペイン

new-tabsplit-paneコマンドは、それぞれが分割されたペインを持つ複数のタブを取得するためにシーケンスすることができます。 コマンドプロンプトとWSLコマンドラインを実行する二つのペインを持つ二つのタブで新しいターミナルインスタンスを開くには、各タブを別のディ:

  • コマンドプロンプト
  • 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はセミコロンを使用します;ステートメントを区切るために。 Semicolon;を解釈するには、wtコマンドライン引数のコマンド区切り文字として、バッククォートを使用してセミコロン文字をエスケープする必要があります。 PowerShellには、構文解析の停止演算子(–%)もあり、その後の解釈を停止してそのまま渡すように指示します。

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

実行エイリアスはWSLディストリビューションでは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションはCMDに実行後に終了するように指示し、\;バックスラッシュ+セミコロンはコマンドを区切ります。 注Windowsディレクトリをwsl.exeの開始ディレクトリとして指定するには、二つのバックスラッシュ\が必要です。

タブタイトル

カスタムタブタイトルを持つ新しいターミナルインスタンスを開くには、引数--titleを使用します。 2つのタブを開くときに各タブのタイトルを設定するには、次のように入力します:

  • コマンドプロンプト
  • 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

WSL配布では、実行エイリアスは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションはCMDに実行後に終了するように指示し、\;スラッシュ+セミコロンはコマンドを区切ります。

タブの色

カスタムタブの色を持つ新しいターミナルインスタンスを開くには、引数--tabColorを使用します。 この引数は、プロファイルで定義された値を上書きしますが、タブのカラーピッカーを使用して上書きすることもできます。 次の例では、異なる色の2つのタブを使用して新しい端末が作成されます:

  • コマンドプロンプト
  • 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

WSL配布では、実行エイリアスは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションはCMDに実行後に終了するように指示し、\;はコマンドを分離します。

タブに--tabColorが設定されている場合、このタブの最初のペインに関連付けられます。 したがって、複数のペインを持つタブでは、最初のペインがフォーカスされている場合にのみ色が適用されます。 追加のペインのタブの色を設定するには、--tabColorパラメータをsplit-paneサブコマンドにも追加する必要があります。 次の例では、各ペインにタブの色を指定して、2つのペインを持つタブが作成されます:

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

タブフォーカス

特定のタブがフォーカスされた新しい端末インスタンスを開くには、タブインデックス番号とともに-tフラグ(または--target)を使用します。 最初のタブでデフォルトプロファイルを開き、2番目のタブ(-t 1)に焦点を当てた”Ubuntu-18.04″プロファイルを開くには、次のように入力します:

  • コマンドプロンプト
  • 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

WSL配布では、実行エイリアスは機能しません。 Wtを使用したい場合。WSLコマンドラインからexeを実行すると、cmd.exeを実行してCMDから直接起動できます。 /cオプションはCMDに実行後に終了するように指示し、\;バックスラッシュ+セミコロンはコマンドを区切ります。

PowerShellからの複数のコマンドの例

Windowsターミナルは、wtコマンドラインでコマンドを区切るための区切り文字としてセミコロン文字;を使用します。 残念ながら、PowerShellはコマンド区切り文字として;も使用します。 これを回避するには、次のトリックを使用して、PowerShellから複数のwtコマンドを実行できます。 次のすべての例では、コマンドプロンプトを実行するペイン、PowerShellを実行するペイン、およびWSLを実行する最後のペインの3つのペインで新しいターミナルウィ

次の例では、Start-Processコマンドを使用してwtを実行します。 端末がStart-Processを使用する理由の詳細については、以下の”startの使用”を参照してください。

一重引用符で囲まれたパラメータ

この例では、wtパラメータは一重引用符で囲まれています(')。 この構文は、何も計算されていない場合に便利です。

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

エスケープされた引用符

変数に含まれる値をwtコマンドラインに渡すときは、次の構文を使用します:

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

`を使用して、-pパラメーターの”Windows PowerShell”の周りの二重引用符(")をsplit-paneパラメーターにエスケープすることに注意してください。

startを使用する

上記のすべての例では、明示的にstartを使用して端末を起動しました。

次の例では、コマンドラインの実行にstartを使用しません。 代わりに、コマンドラインをエスケープするには、他に二つの方法があります:

  • セミコロンをエスケープするだけで、PowerShellはそれらを無視してwtに直接渡します。
  • --%を使用すると、PowerShellは残りのコマンドラインをアプリケーションの引数として扱います。
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

これらの両方の例では、新しく作成されたWindowsターミナルウィンドウは、指定されたすべてのコマンドライン引数を正しく解析することによっ

ただし、PowerShellは新しく作成されたターミナルウィンドウが閉じられるのを待ってからPowerShellに制御を戻すため、これらの方法は現在推奨されていません。 既定では、PowerShellは、プロンプトに戻る前に、Windowsストアアプリケーション(Windowsターミナルなど)が閉じるのを常に待機します。 これは、プロンプトにすぐに戻るコマンドプロンプトの動作とは異なることに注意してください。

コメントを残す

メールアドレスが公開されることはありません。

More: