¿Cómo mantener toda la salida de un programa en la línea de comandos de Windows?

31

Digamos que tiene un programa que le da mucha salida. Parece que el símbolo del sistema desafortunadamente no lo mantiene todo (solo hay un momento en que puede desplazarse hacia arriba).

¿Hay alguna manera de mantenerlo todo?

Nathaniel
fuente

Respuestas:

28

Aumentar el tamaño del búfer es la mejor manera si solo desea desplazarse hacia arriba y ver la salida, que puede configurar en propiedades.

Si está agregando a un archivo, probablemente también desee los errores en caso de que haya alguno:

C: \> somecommand.exe> ​​"C: \ path \ to \ output.txt" 2> & 1

Si desea un buscapersonas, hay moreo menos para Windows .

ejemplo:

C: \> somecommand.exe | Menos

luego puede usar fpara avanzar o bretroceder.

John T
fuente
La respuesta más completa, creo. Simplemente resulta ser John T. ¿Qué sabes?
Nathaniel
@Nathaniel, ¿es eso algo malo = [] ... :)
John T
No, solo me gusta meterte a ti ya Molly. No creo que realmente me gusten tantos puntos. No se ve tan bonito por el nombre de uno.
Nathaniel
@JohnT, ¿cuáles son los comandos cmd (en oposición a la interfaz de usuario) para aumentar el tamaño del búfer?
Pacerier
1
Para su información, es necesario configurar Layout> Screen Buffer Size> Heightno Options> Command History> Buffer Size.
mythofechelon
8

Para capturar la salida a un archivo, vea otras respuestas. También puede aumentar la cantidad de texto que puede desplazarse hacia atrás y ver hasta un límite.

Con la ventana del símbolo del sistema abierta, haga clic en el icono [C:] en la barra de título para abrir el menú y seleccionar propiedades. En la pestaña Diseño, cambie el Tamaño del búfer de pantalla-> Altura a 9999. Eso le permitirá desplazarse hacia atrás esa cantidad de líneas en la ventana.

Donald Byrd
fuente
7

¿Está utilizando Windows XP si es así, podría agregar su comando? | more

Alternativamente, podría usar

operadores de redireccionamiento de comandos

.
Esta página tiene más información para ti.

Kevin Boyd
fuente
3
moreexiste desde la Edad Media de DOS ...
Joey
5

Envíe los resultados a un archivo, así:

C:> RunMyProgram.exe > outputfile.txt
Rob Farley
fuente
+1 Iba a responder esto, pero estaba buscando una mejor manera y no la vi. Puede aumentar el tamaño del búfer a 999 y el número de búferes a 999, pero dependiendo de cuán grande sea "una gran cantidad de salida" esto puede no ser práctico, especialmente cuando va a guardarlo. Si su programa requiere la interacción del usuario, tendría que leer el archivo de texto para saber cuál es la pregunta y poder responderla. Lástima que Windows no tenga una forma de volcar un registro y mantener normales los búferes de pantalla.
Scott McClenning el
@Scott: el número de búferes de salida es irrelevante para cuántas líneas se pueden mostrar. En cierto modo son como buffers de cuadros para gráficos; puede escribirles y cambiar la pantalla a otra. Sin embargo, el tamaño del búfer sube a 9999, lo que debería ser suficiente para la mayoría de las necesidades.
Joey
3

puede aumentar el tamaño del búfer en el historial de comandos (el valor predeterminado es 50) en las propiedades. podría intentar algo como 500 o incluso 5000, de lo que debería poder desplazarse hacia arriba mucho más.

otra forma es redirigir la salida a un archivo usando el ">" char:

ex:

C:> someCommand> output.txt

que abra el archivo txt y debería ver la salida del comando allí.

Decio Lira
fuente