Gibt es eine Möglichkeit, das Skriptecho in PowerShell ISE zu deaktivieren?

27

Wann immer ich die Ausführung meines Skripts in der PowerShell ISE testen möchte, wird das gesamte Skript vor der Ausführung an die Konsole zurückgesendet. Dann wird jede tatsächliche Ausgabe des Skripts unmittelbar danach in eine Zeile geschrieben. Dies führt zu starken Geräuschen in der Konsole und kann es schwierig machen, herauszufinden, wo das Skriptecho endet und die Ausgabe beginnt.

Gibt es eine Möglichkeit, dieses Echo des Skripts in der Konsole zu deaktivieren?

Iszi
quelle
Wäre Clear-Host eine geeignete Lösung?
Guy Thomas
1
@GuyThomas Ich würde lieber nicht. Das würde es schwieriger machen, die Ausgabe zwischen nachfolgenden Skriptläufen zu vergleichen.
Iszi
Das Ausführen von PowerShell ISE (x86) war mein Problem. Das Ausführen der 64-Bit-Version behebt das Problem.
Paul Totzke

Antworten:

36

Speichern Sie das Skript mindestens einmal. Dadurch wird das "Skriptecho" des Skriptinhalts verhindert. Stattdessen wird der Pfad zum gespeicherten Skript nur dann wiedergegeben, wenn Sie das Skript zum Testen ausführen.

SgtOJ
quelle
0

Wenn Sie nur die Bildschirmausgabe "sauberer" machen möchten, fügen Sie einfach Folgendes hinzu:

cls

am oberen Rand Ihres Powershell-Skripts. Dadurch wird die Ausgabe in der Konsole gelöscht. Das Skript wird momentan noch auf dem Bildschirm geschrieben, aber es wird gelöscht, sobald Ihr Code tatsächlich ausgeführt wird.

James Robertson
quelle
-3

Wenn Sie zum Beispiel eine Leitung haben

cmd.exe /c "echo foo"

Sie können es in null pfaden und daher keine Ausgabe erzeugen

cmd.exe /c "echo foo" > $null

Wenn Sie also Ihre .ps1-Datei über die Befehlszeile starten, können Sie Folgendes tun:

PS C:\Users\bodyi> foo.ps1 > $null
Kuro
quelle
Dies behebt das Problem nicht. Dadurch wird nur die Ausgabe des Skripts entfernt. Das Skript selbst wird weiterhin gedruckt.
8bittree