A veces, PowerShell deja de enviar resultados hasta que presiono enter. ¿Por qué?

106

Periódicamente noto que PowerShell parece tardar una eternidad en terminar de hacer lo que sea que le dije que haga hasta que se me ocurra "despertarlo" presionando enter. Esto no es culpa de ningún proceso lo mejor que puedo decir, ya que incluso he ejecutado aplicaciones personalizadas que solo registran su salida en la pantalla cada pocos segundos e incluso en estos casos, PowerShell dejará de hacer cualquier cosa después de un tiempo hasta que yo " darle una patada "presionando enter.

¿Alguna idea de lo que podría estar causando esto?

Nathan Ridley
fuente
¡Guauu! ¡Esto también se aplica a la nueva consola de Windows (instalada silenciosamente)!
TamusJRoyce

Respuestas:

144

Si las opciones QuickEdit Modey \ o Insertestán marcadas dentro de las propiedades de la consola \ ventana, y hace clic dentro de la consola, se detendrá la salida. Si esas opciones no están marcadas, la salida no puede pausarse haciendo clic dentro de la consola.

texto alternativo Para llegar a esta configuración, haga clic derecho en el logotipo de PowerShell en la esquina superior izquierda de la ventana de su terminal, luego seleccione 'Propiedades' (al menos esa es una forma de hacerlo)

CurtM
fuente
77
Ah, sí, nunca se me ocurrió que hacer clic en la pantalla podría interrumpir la salida. Después de ejecutar algunas pruebas, este parece ser el problema.
Nathan Ridley el
77
OMG Shell falla.
meawoppl
11
Eso es extremadamente molesto :) ¿Otra característica indocumentada?
66
literalmente se unió a la falla del servidor para votar, han pasado años desde que lo observé por primera vez, pero nunca se convirtió en un problema lo suficientemente grande como para investigarlo, hasta que hoy pisé este 'rastrillo' nuevamente :)
drk
8
Como drk, me uní a este sitio para votar: D. Esto resolvió uno de los misterios más molestos de mi vida jajaja.
Jan
-1

Si está ejecutando el script de PowerShell desde Cygwin, así:

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

y obtienes este problema, puedes solucionarlo canalizando en una nueva línea:

echo | powershell.exe -Command '<...>'
cjfp
fuente