Hola!, queria preguntar, si me podrian explicar la diferencia entre StderrRead y StdoutRead...
Lo que pasa es que estoy haciendo automatico un programa que se ejecuta por linea de comandos, entones, necesito que algunas informaciones Autoit me las muestre para yo poder decidir que hacer a continuacion...
Basandome en los ejemplos, ya he conseguido algo, pero queria preguntar bien la diferencia entre estos 2 para poder estar seguro de lo que hago ^^
Diferencia entre StderrRead y StdoutRead
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Diferencia entre StderrRead y StdoutRead
StdOut es la salida estándar normal, ahí mandan los mensajes normalmente.
StdErr es la salida de estándar de error, es decir, es como StdOut pero específica para mensajes de error.
Naturalmente esa es la "intención de uso", para lo que se han creado, pero luego los programas lo usan como quieren, por ejemplo no es raro encontrarse con programas que escriben los mensajes de error por la StdOut.
Por ejemplo en una ventana DOS puedes escribir
dir carpeta > lista.txt
Y te capturará la salida estándar y la meterá en lista.txt. Eso es stdout
Pero si "carpeta" no existe verás que manda la cabecera a lista.txt, pero sale por consola el mensaje "No se encuentra el archivo". Eso es porque eso lo manda por stderr y sólo estamos capturando stdout.
Para capturar stderr en un shell DOS redireccionamos con 2>
dir carpeta 2> lista.txt
Puedes capturar los dos a la vez:
dir carpe > lista.txt 2> error.txt
Esos ejemplos o similares los puedes emular en AutoIt para hacer pruebas.
StdErr es la salida de estándar de error, es decir, es como StdOut pero específica para mensajes de error.
Naturalmente esa es la "intención de uso", para lo que se han creado, pero luego los programas lo usan como quieren, por ejemplo no es raro encontrarse con programas que escriben los mensajes de error por la StdOut.
Por ejemplo en una ventana DOS puedes escribir
dir carpeta > lista.txt
Y te capturará la salida estándar y la meterá en lista.txt. Eso es stdout
Pero si "carpeta" no existe verás que manda la cabecera a lista.txt, pero sale por consola el mensaje "No se encuentra el archivo". Eso es porque eso lo manda por stderr y sólo estamos capturando stdout.
Para capturar stderr en un shell DOS redireccionamos con 2>
dir carpeta 2> lista.txt
Puedes capturar los dos a la vez:
dir carpe > lista.txt 2> error.txt
Esos ejemplos o similares los puedes emular en AutoIt para hacer pruebas.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)