crear funciones o subrutinas en lenguajes de comandos

17/04/2005 - 18:32 por slag | Informe spam
He visto en algun bat de comandos que se invocan como:

call :etiqueta

y qye se finaliza con un goto :EOF

Pero no lo entiendo a pesar que funciona ¿que es eso de EOF?. Y una seguna
pregunta, ¿como se identifican los parametros ya que los del proceso
principal he probado y no se ven?

gracias.

 

Leer las respuestas

#1 JM Tella Llop [MVP Windows]
17/04/2005 - 18:42 | Informe spam
EOF es la abreviatura de EndOfFile (ir a fin de archivo).

Una subrutina puede terminar de dos maneras:

1) Cuando finaliza el archivo. (por tanto goto :EOF lo finalizará)

2) con el comando:

exit /b n

(atencion, el /b es obligatorio... ya que si no se finalizará completo el
cmd.exe). "n" es el codigo de retorno opcional de la subrutina que puede
atraparse con errorlevel.

Y los parametros del procedimiento principal no son accesibles a la
subrutina por lo que si queires que lo sean, deberan pasarse como parametros
a ella. Es decir:

tu batch...
call :subrutina %1 %2 "pepe"
.

:subrutina
...aqui ya pueden procesarse el %1 t el %2 del principal, y ademas rebie ne
este caos un tercer parametro con el literal "pepe".
exit /b 0

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.



"slag" wrote in message
news:
He visto en algun bat de comandos que se invocan como:

call :etiqueta

y qye se finaliza con un goto :EOF

Pero no lo entiendo a pesar que funciona ¿que es eso de EOF?. Y una seguna
pregunta, ¿como se identifican los parametros ya que los del proceso
principal he probado y no se ven?

gracias.




Preguntas similares