Czy istnieje sposób na wyłączenie echa skryptu w programie PowerShell ISE?

27

Ilekroć chcę przetestować wykonanie mojego skryptu w programie PowerShell ISE, cały skrypt jest odtwarzany w konsoli przed jego uruchomieniem. Następnie wszelkie rzeczywiste dane wyjściowe skryptu są zapisywane począwszy od wiersza natychmiast po tym. Powoduje to dużo hałasu w konsoli i może utrudnić ustalenie, gdzie kończy się echo skryptu, a zaczyna wyjście.

Czy istnieje sposób na wyłączenie echa skryptu w konsoli?

Iszi
źródło
Czy Clear-Host będzie odpowiednim rozwiązaniem?
Guy Thomas
1
@GuyThomas Wolałbym nie. Utrudniłoby to porównanie wyników między kolejnymi uruchomieniami skryptu.
Iszi
Uruchamianie programu PowerShell ISE (x86) było moim problemem. Napraw wersję 64-bitową.
Paul Totzke

Odpowiedzi:

36

Zapisz skrypt co najmniej raz. Zapobiegnie to „echu skryptu” zawartości skryptu. Zamiast tego wyświetli ścieżkę do zapisanego skryptu tylko po uruchomieniu skryptu do testowania.

SgtOJ
źródło
0

Jeśli chcesz, aby wyjście ekranowe było „czystsze”, po prostu dodaj:

cls

u góry skryptu programu PowerShell. Spowoduje to wyczyszczenie danych wyjściowych w konsoli. Skrypt nadal zostanie na chwilę napisany na ekranie, ale zostanie wyczyszczony, gdy tylko kod zacznie działać.

James Robertson
źródło
-3

jeśli masz na przykład linię

cmd.exe /c "echo foo"

możesz ustawić ścieżkę na zero, a zatem nie generować żadnych danych wyjściowych

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

więc jeśli uruchomisz .ps1 z wiersza poleceń, możesz zrobić coś takiego:

PS C:\Users\bodyi> foo.ps1 > $null
Kuro
źródło
To nie rozwiązuje problemu. To po prostu usuwa dane wyjściowe skryptu, a sam skrypt nadal jest drukowany.
8bittree,