
Ich verwende Powershell ISE, um eine Benutzeroberfläche mit mehreren Registerkarten zu nutzen und so zu vermeiden, dass zu viele Eingabeaufforderungsfenster angezeigt werden.
Jetzt öffnen einige meiner Batch-Skripte eine neue Eingabeaufforderung. Gibt es eine Möglichkeit, dieses neue Eingabeaufforderungsfenster als Registerkarte in Powershell ISE zu öffnen?
Wenn ich es beispielsweise my.bat prompt
von einer Registerkarte in Powershell ISE aus ausführe, wird die Batchdatei in einem neuen Eingabeaufforderungsfenster und nicht in einer neuen Registerkarte in Powershell ISE ausgeführt.
Antwort1
PS ISE führt nur Inline-Code (Konsole/Skriptbereich) und .ps*-Dateien (Consolehost/ISE/VSCode) aus.
Cmd.exe .bat/.cmd, was eine Eingabeaufforderung erfordert, und daran führt kein Weg vorbei. Es gibt auch keinen Plan, PS dazu zu bringen, Nicht-PS*-Dateien auszuführen, soweit mir bekannt ist oder jemals auf dem PS GitHub danach gefragt wurde. Es ist wirklich kein Anwendungsfall dafür.
Wenn Sie sagen, dass Sie dies ausführen und das Cmd-Fenster nicht anzeigen möchten, minimieren oder verbergen Sie es. Es ist zwar möglich, eine Registerkarte zu öffnen, um eine .bat/.cmd auszuführen, aber es wird trotzdem das Cmd-Fenster öffnen, weil es so sein muss. Sie können Cmd-Sachen ausführen und die Ergebnisse nur an die ISE-Konsole zurückgeben lassen.
Der Link verwies nur auf die besseren Möglichkeiten zum Ausführen von .bat, .cmd usw. von PS (Konsole/ISE/VSCode).
Wenn Sie das Öffnen mehrerer eigenständiger Konsolenfenster vermeiden möchten, sollten Sie besser zu VSCode wechseln, da Sie dort den Skriptbereich für Ihre .ps*-Skripte geöffnet haben und unten im Bereich mehrere Konsolen geöffnet sein können, zwischen denen Sie nach Bedarf wechseln können.
https://code.visualstudio.com/docs/editor/integrated-terminal
Etwas, das Sie in der ISE nicht tun können.