Czasami PowerShell przestaje wysyłać dane wyjściowe do momentu naciśnięcia klawisza Enter. Dlaczego?

105

Okresowo zauważam, że PowerShell wydaje się trwać wiecznie, aby dokończyć robienie tego, co mu kazałem, dopóki nie przyjdzie mi do głowy „obudzić”, naciskając klawisz Enter. Nie jest to wina jednego procesu, co mogę najlepiej powiedzieć, ponieważ uruchomiłem nawet niestandardowe aplikacje, które rejestrują swoje wyniki na ekranie co kilka sekund, a nawet w takich przypadkach PowerShell po pewnym czasie przestanie robić wszystko, aż „ kopnij ”, naciskając enter.

Wszelkie pomysły, co może być tego przyczyną?

Nathan Ridley
źródło
Łał! Dotyczy to również nowej (cichej) konsoli Windows!
TamusJRoyce

Odpowiedzi:

143

Jeśli opcje QuickEdit Modei \ lub Insertsą zaznaczone we właściwościach okna \ konsoli i klikniesz w konsoli, spowoduje to wstrzymanie wydruku. Jeśli te opcje nie są zaznaczone, danych wyjściowych nie można zatrzymać, klikając w konsoli.

alternatywny tekst Aby przejść do tych ustawień, kliknij prawym przyciskiem myszy logo PowerShell w lewym górnym rogu okna terminala, a następnie wybierz „Właściwości” (przynajmniej w ten sposób możesz to zrobić)

CurtM
źródło
7
Ach, tak, nigdy nie przyszło mi do głowy, że kliknięcie ekranu może zakłócić wyjście. Po uruchomieniu niektórych testów wydaje się, że to jest problem.
Nathan Ridley,
7
Błąd powłoki OMG.
meawoppl
11
To bardzo denerwujące :) Kolejna nieudokumentowana funkcja?
6
dosłownie dołączyłem do błędu serwera, aby go pochwalić, minęły lata, odkąd zaobserwowałem go po raz pierwszy, ale nigdy nie stał się to wystarczająco duży problem, aby się nim zająć, aż do dzisiaj ponownie nadepnąłem na tę „prowizję” :)
drk
8
Podobnie jak drk, dołączyłem do tej strony, aby głosować: D. To rozwiązało jedną z najbardziej irytujących tajemnic w moim życiu lol.
Jan
-1

Jeśli uruchamiasz skrypt PowerShell z poziomu Cygwin w taki sposób:

powershell.exe -Command '<...>'

i pojawia się ten problem, możesz go naprawić, instalując nowy wiersz:

echo | powershell.exe -Command '<...>'
cjfp
źródło