Truco Windows: redireccionar la salida de un comando de consola

Os dejo un truco del símbolo de sistema (terminal o consola) para Windows, que puede ser muy útil: la redirección de la salida. Y os explico posibles usos.

Si a un comando de consola, le añades el operador > puedes hacer que en vez de mostrar el resultado en pantalla (por defecto) lo mande a otro lugar. Por ejemplo un fichero de texto o la impresora.

  • Por ejemplo en mi trabajo a veces tengo que monitorizar el router de un cliente o una máquina que salga a internet. Podemos poner el comando ping -t  www.google.es > c:registrodepings.txt
    Esto me guardará un fichero en el disco C: (la ruta la puedes cambiar) con una serie de pings (el -t hace que no pare) o llamadas a google. Esto puedo verlo al día siguiente para ver si han habido cortes.
  • Otro uso es mandar un fichero o listado a la impresora. Por ejemplo dir>prn me manda el listado de un directorio a la impresora.
  • Una tercera utilidad es hacer que no nos muestre la salida de algo en pantalla. Por ejemplo c:test.bat >NUL  No mostrará el resultado del fichero test.bat
  • Y por último podemos producir los resultados por un lado y los errores (salida 2) por otro. Por ejemplo: test.bat > testlog.txt 2> testerrors.txt  crea 2 ficheros, un log del test con la salida y uno de errores con los posibles errores de la misma.
Si además, queremos añadir contenido a un fichero existente podemos hacerlo con la doble redirección. Es decir si hago ping -t www.google.es >> c:registrodepings.txt  al día siguiente, los resultados se añadirán al fichero anterior en vez de crear uno nuevo.

El operador contrario < lo que hace es coger el contenido de un fichero. Por ejemplo sort <lista.txt me produce un resultado ordenado alfabéticamente del fichero lista.txt

Por último el comando |  encadena salidas. Por ejemplo el muy usado dir |more mete la salida de dir en el more (que lo divide en páginas). O comando1 | comando2 mete la salida del 1 en el comando 2.

 

6 comentarios en «Truco Windows: redireccionar la salida de un comando de consola»

  1. Hola, buen día, espero que me ayuden.

    Necesito saber como crear archivos .txt a partir de una sesión telnet que me arroja strings de datos. Yo me conecto a una maquina inspeccionadora que arroja datos por cada articulo inspeccionado, estos registros los tomo desde una sesión de telnet y los guardo a un archivo TXT, pero necesito limitarlos y crear archivos por rango de tiempo para luego crear reportes.

    Espero de su ayuda. Gracias.

    Responder
    • Supongo que es una máquina windows (si es linux hay muchas opciones). Si lo que quieres es rango de tiempos yo crearía un script. El primer comando graba el primero y lo guarda con un nombre. Luego lo corta. El segundo crea otro a otra hora etc. Recuerda cortar el primer fichero porque si no puedes tener 50 archivos a la vez.

      Responder
  2. Hola!

    Mi caso es un poco al contrario…Por defecto mi ordenador exporta la salida de la terminal a un archivo .log. Supongo que hay que cambiar la configuración pero no tengo ni idea de cómo y lo que he encontrado en internet es justamente lo contrario, cómo exportar la información que sale en la ventana de comandos a un archivo.

    Espero haberme explicado.

    Responder
    • La verdad es que no nos hemos encontrado con ese caso, lo siento. Pero si ,será algo de configuración. Si es el mismo nombre de archivo mira en el registro.

      Responder

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).

Time limit is exhausted. Please reload CAPTCHA.