Windows PowerShell ISE は新しいタブで bat ファイルを実行します

Windows PowerShell ISE は新しいタブで bat ファイルを実行します

コマンド プロンプト ウィンドウが多すぎるのを避けるために、Powershell ISE を使用して複数のタブ付きインターフェイスを活用しています。

現在、バッチ スクリプトの一部で新しいコマンド ライン プロンプトが開きます。この新しいコマンド プロンプト ウィンドウを PowerShell ISE のタブとして開く方法はありますか?

たとえば、my.bat promptPowershell ISE のタブから実行すると、Powershell ISE の新しいタブではなく、新しいコマンド ライン プロンプト ウィンドウでバッチ ファイルが実行されます。

答え1

PS ISE は、インライン (コンソール/スクリプト ペイン) コード、.ps* ファイル (consolehost/ISE/VSCode) のみを実行します。

Cmd.exe .bat/.cmd はシェルアウトが必要で、これを回避する方法はありません。また、私が知っている限り、または PS GitHub で求められた限りでは、PS で非 ps* ファイルを実行できるようにする計画は記録されていません。これは実際には使用例ではありません。

これを実行しても cmd ウィンドウを表示したくない場合は、それを最小化または非表示にします。ただし、タブを開いて .bat/.cmd を実行することは可能ですが、必要なため、cmd ウィンドウは表示されます。ただし、cmd を実行して、結果のみを ISE コンソールに戻すことはできます。

リンク先では、PS (コンソール/ISE/VSCode) から .bat、.cmd などを実行するためのより良い方法のみを説明しています。

複数のスタンドアロン コンソール ウィンドウを開かないようにしたい場合は、VSCode に切り替えることをお勧めします。VSCode では、.ps* スクリプトのスクリプト ペインを開き、ペインの下部に複数のコンソールを開いて、必要に応じて切り替えることができます。

https://code.visualstudio.com/docs/editor/integrated-terminal

ISE ではできないことです。

関連情報