BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

"Duplicar" stdout en Win CMD

BocaDePez
BocaDePez

Buenas,

sabéis si hay algo parecido al comando tee de Unix en la consola de Windows? Necesitaría redireccionar la salida estándar de una aplicación de consola (a fichero por ejemplo) pero manteniendo a la vez y simultáneamente la salida por pantalla. Debe ser con la consola estándar de Windows (no me sirve PowerShell ni nada parecido).

Por más que miro temas de redireccionado de streams y piping en cmd no consigo encontrar nada. Cualquier ayuda o comentario me será muy últil.

Básicamente para dar más detalles lo que pretendo hacer es lanzar una aplicación de consola a través de cmd desde un Windows Forms, permitir que el usuario interaccione con la misma, y luego al retornar tomar una copia de los resultados para su manejo posterior. El problema es precisamente que si redirecciono stdout al lanzar el proceso el usuario se queda sin nada con lo que interaccionar (de hecho cmd termina inmediatamente sin permitir ninguna acción al usuario al activar la redirección de stdout del proceso).

Muchas gracias por adelantado.

Saludos.

BocaDePez
BocaDePez

El tema es que no tengo control sobre el código de la aplicación de consola que se lanza (no puedo por ejemplo duplicar cada printf() con un perror() para obtener stdout duplicado por stderr), de ahí la cuestión de si es posible hacer algo parecido desde la propia consola.

Saludos.

🗨️ 1
vukits

en guguel vi esto (mira la 5ª respuesta)

en este ejemplo, la aplicacion que produce la salida es 'dir'

C:\>dir > c:\directory.txt & type c:\directory.txt | more

pero según dicen stdout no es lo mismo que salida de consola..

el usuario interaccione con la misma

eso... no sé.. .. la idea era copiar la salida en un fichero y luego mostrar el fichero.. sólo que... el proceso está en background.. o sease nada de input ...hmm

saludos