[TIP] Redirecciones curiosas en lenguaje de comandos.

13/04/2005 - 23:00 por JM Tella Llop [MVP Windows] | Informe spam
No las he visto documentadas en ningun sitio de Microsoft ni en manuales de
batch scripting, pero las he visto usadas en algunao batch. Investigando
sobre ellas:

comando || (grupo de sentencias)

comando && (grupo de setencias)

Bien, en la primera de ellas, el grupo de comandos se ejecuta si el comando
anterior termina con un errorlevel distinto de cero. La segunda, se ejecuta
el grupo de sentencia si el comando termina con errorlevel 0.

Veamos un ejemplo:

md; 2>nul || echo "hay un error"

md; es una instruccion imposible, por tanto sacará un error. Direccionamos
el error a nul (2>nul) para no ver nada por pantalla. Pero como el comando
termina con errorleve distinto de cero, se ejecuta el echo y nos mostrará
"hay un error".

Sirve igualmente para analizar errores en cualquier instruccion que devuelva
un codigo de restorno, incluidas llamadas a procedimeintos, por ejemplo:

call proceso1 parametro1 || (echo "error en proceso1" & call proceso_error)



Jose Manuel Tella Llop
MVP - Windows
jmtella@XXXcompuserve.com (quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.

Preguntas similare

Leer las respuestas

#1 Alezito [MS MVP]
13/04/2005 - 23:08 | Informe spam
'-)

Cordialmente,

Alejandro Curquejo
Microsoft MVP Windows

Microsoft TechNet
Recursos, Soporte y Comunidad TI
http://www.microsoft.com/spain/tech...efault.asp


"JM Tella Llop [MVP Windows]" wrote in message
news:%
No las he visto documentadas en ningun sitio de Microsoft ni en manuales
de batch scripting, pero las he visto usadas en algunao batch.
Investigando sobre ellas:

comando || (grupo de sentencias)

comando && (grupo de setencias)

Bien, en la primera de ellas, el grupo de comandos se ejecuta si el
comando anterior termina con un errorlevel distinto de cero. La segunda,
se ejecuta el grupo de sentencia si el comando termina con errorlevel 0.

Veamos un ejemplo:

md; 2>nul || echo "hay un error"

md; es una instruccion imposible, por tanto sacará un error.
Direccionamos el error a nul (2>nul) para no ver nada por pantalla. Pero
como el comando termina con errorleve distinto de cero, se ejecuta el echo
y nos mostrará "hay un error".

Sirve igualmente para analizar errores en cualquier instruccion que
devuelva un codigo de restorno, incluidas llamadas a procedimeintos, por
ejemplo:

call proceso1 parametro1 || (echo "error en proceso1" & call
proceso_error)



Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.




Respuesta Responder a este mensaje
#2 Alezito [MS MVP]
13/04/2005 - 23:08 | Informe spam
'-)

Cordialmente,

Alejandro Curquejo
Microsoft MVP Windows

Microsoft TechNet
Recursos, Soporte y Comunidad TI
http://www.microsoft.com/spain/tech...efault.asp


"JM Tella Llop [MVP Windows]" wrote in message
news:%
No las he visto documentadas en ningun sitio de Microsoft ni en manuales
de batch scripting, pero las he visto usadas en algunao batch.
Investigando sobre ellas:

comando || (grupo de sentencias)

comando && (grupo de setencias)

Bien, en la primera de ellas, el grupo de comandos se ejecuta si el
comando anterior termina con un errorlevel distinto de cero. La segunda,
se ejecuta el grupo de sentencia si el comando termina con errorlevel 0.

Veamos un ejemplo:

md; 2>nul || echo "hay un error"

md; es una instruccion imposible, por tanto sacará un error.
Direccionamos el error a nul (2>nul) para no ver nada por pantalla. Pero
como el comando termina con errorleve distinto de cero, se ejecuta el echo
y nos mostrará "hay un error".

Sirve igualmente para analizar errores en cualquier instruccion que
devuelva un codigo de restorno, incluidas llamadas a procedimeintos, por
ejemplo:

call proceso1 parametro1 || (echo "error en proceso1" & call
proceso_error)



Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.




Respuesta Responder a este mensaje
#3 Peni \(Francisco\)
14/04/2005 - 08:27 | Informe spam
Pues me viene como anillo al dedo (iba a decir otra cosa, pero a lo mejor no
pasa los filtros :-))
Lo mismo merece la pena que te tires un mes de pruebas de hard de vez en
cuando, porque has vuelto sembrao :-) Gracias Master.


Saludos Peni

Para correo:
http://cerbermail.com/?h4s9sbNqzW

"JM Tella Llop [MVP Windows]" escribió en el mensaje
news:%
No las he visto documentadas en ningun sitio de Microsoft ni en manuales
de batch scripting, pero las he visto usadas en algunao batch.
Investigando sobre ellas:

comando || (grupo de sentencias)

comando && (grupo de setencias)

Bien, en la primera de ellas, el grupo de comandos se ejecuta si el
comando anterior termina con un errorlevel distinto de cero. La segunda,
se ejecuta el grupo de sentencia si el comando termina con errorlevel 0.

Veamos un ejemplo:

md; 2>nul || echo "hay un error"

md; es una instruccion imposible, por tanto sacará un error.
Direccionamos el error a nul (2>nul) para no ver nada por pantalla. Pero
como el comando termina con errorleve distinto de cero, se ejecuta el echo
y nos mostrará "hay un error".

Sirve igualmente para analizar errores en cualquier instruccion que
devuelva un codigo de restorno, incluidas llamadas a procedimeintos, por
ejemplo:

call proceso1 parametro1 || (echo "error en proceso1" & call
proceso_error)



Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.




Respuesta Responder a este mensaje
#4 Peni \(Francisco\)
14/04/2005 - 08:27 | Informe spam
Pues me viene como anillo al dedo (iba a decir otra cosa, pero a lo mejor no
pasa los filtros :-))
Lo mismo merece la pena que te tires un mes de pruebas de hard de vez en
cuando, porque has vuelto sembrao :-) Gracias Master.


Saludos Peni

Para correo:
http://cerbermail.com/?h4s9sbNqzW

"JM Tella Llop [MVP Windows]" escribió en el mensaje
news:%
No las he visto documentadas en ningun sitio de Microsoft ni en manuales
de batch scripting, pero las he visto usadas en algunao batch.
Investigando sobre ellas:

comando || (grupo de sentencias)

comando && (grupo de setencias)

Bien, en la primera de ellas, el grupo de comandos se ejecuta si el
comando anterior termina con un errorlevel distinto de cero. La segunda,
se ejecuta el grupo de sentencia si el comando termina con errorlevel 0.

Veamos un ejemplo:

md; 2>nul || echo "hay un error"

md; es una instruccion imposible, por tanto sacará un error.
Direccionamos el error a nul (2>nul) para no ver nada por pantalla. Pero
como el comando termina con errorleve distinto de cero, se ejecuta el echo
y nos mostrará "hay un error".

Sirve igualmente para analizar errores en cualquier instruccion que
devuelva un codigo de restorno, incluidas llamadas a procedimeintos, por
ejemplo:

call proceso1 parametro1 || (echo "error en proceso1" & call
proceso_error)



Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.




Respuesta Responder a este mensaje
#5 OM
14/04/2005 - 10:07 | Informe spam
Creo recordar que vienen del viejo MS-DOS .. y había más ...


"JM Tella Llop [MVP Windows]" escribió en el mensaje
news:%
No las he visto documentadas en ningun sitio de Microsoft ni en manuales
de batch scripting, pero las he visto usadas en algunao batch.
Investigando sobre ellas:

comando || (grupo de sentencias)

comando && (grupo de setencias)

Bien, en la primera de ellas, el grupo de comandos se ejecuta si el
comando anterior termina con un errorlevel distinto de cero. La segunda,
se ejecuta el grupo de sentencia si el comando termina con errorlevel 0.

Veamos un ejemplo:

md; 2>nul || echo "hay un error"

md; es una instruccion imposible, por tanto sacará un error.
Direccionamos el error a nul (2>nul) para no ver nada por pantalla. Pero
como el comando termina con errorleve distinto de cero, se ejecuta el echo
y nos mostrará "hay un error".

Sirve igualmente para analizar errores en cualquier instruccion que
devuelva un codigo de restorno, incluidas llamadas a procedimeintos, por
ejemplo:

call proceso1 parametro1 || (echo "error en proceso1" & call
proceso_error)



Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida