結論
WindowsTerminalの設定で
"startingDirectory": ".",
を追加する
下記suwt.batファイルをPATHの通った場所に置く
powershell -Command "start-process cmd -ArgumentList \"/k cd %CD% ^&^&wt^&^&exit\" -verb runas -WindowStyle Hidden"
エクスプローラを開いてCtrl+lを押してsuwtでEnter
以上
※実行は自己責任でお願いします。
解説
WindowsTerminalはstartingDirectoryという設定項目で開始時のディレクトリを指定できるが、デフォルトではユーザディレクトリになっている。この設計を"."とするとWindowsTerminalを起動したプロセスのカレントディレクトリが引き継がれる模様。またWindowsTerminalをインストールするとwtコマンドでwindowsTerminalを起動できる。なので、単にエクスプローラで開いているディレクトリでWindowsTerminalを開きたいだけならstartingDirectory行を削除し、Ctrl+lを押してwtでEnterとすればよい。
WindowsTerminalを管理者権限で実行するにはWindowsのスタートメニューから実行する以外では管理者権限で実行されているプロセスからwtコマンドで実行する方法しか確認できなかった(もしかしたらあるかもしれない)。プロセスを管理者権限で実行するにはpowershellコマンドレットのstart-processに-verb runasオプションをつければよい。
エクスプローラからpowershellコマンドレットを呼ぶために、powershellを実行し、-commandオプションでstart-processを実行している。
しかし、start-processを-verb runasオプション指定するとカレントディレクトリが引き継がれないという問題があった。なので、カレントディレクトリを移動してからwtを起動している。
start-processで起動したcmdは邪魔なので-WindowStyle Hiddenオプションで非表示にしているが、そうするとWindowsTerminalを終了しても裏で残り続けるので、wtコマンドの後に&&exitしている。これでWindowsTerminalを終了すれば非表示のcmdも終了する。