utiles por off lotes lista informatica ejemplos comandos batch bat avanzados archivos batch-file cmd call subroutine

batch file - off - Uso de CALL para etiquetas en una secuencia de comandos por lotes



echo off bat (2)

Cuando se utiliza el comando CALL para llamar a una etiqueta en un script por lotes, y se finaliza la sub-rutina con GOTO: eof, ¿qué sucede desde allí? ¿Vuelve al lugar donde se encuentra CALL de la sub-rutina? ¿O continúa después de la ubicación de la secuencia de comandos de llamada?

Por ejemplo:

ECHO It''s for my college fund. CALL :OMGSUB ECHO *runs away and cries like a little girl* :OMGSUB ECHO Your mom goes to college. GOTO:eof ECHO *picks up jewelry box*

Después de GOTO: ¿de qué línea se repetirá?


¿Por qué no simplemente ejecutarlo y ver por ti mismo? Guardé su script en un archivo de proceso por lotes llamado foo.bat, y cambié el programa. Tu madre va a la universidad para tener un echo en el frente.

C:/temp>foo C:/temp>ECHO It''s for my college fund. It''s for my college fund. C:/temp>CALL :OMGSUB C:/temp>echo Your mom goes to college. Your mom goes to college. C:/temp>GOTO:eof C:/temp>ECHO *runs away and cries like a little girl* *runs away and cries like a little girl* C:/temp>echo Your mom goes to college. Your mom goes to college. C:/temp>GOTO:eof C:/temp>

Entonces, es fácil ver que después de que se llama OMGSUB ,

  1. Va al final del archivo.
  2. Luego vuelve a la línea justo después de la CALL :OMGSUB y echos la línea "huye"
  3. Luego vuelve a escuchar la línea Your Mom
  4. El va al final del archivo y termina
  5. El eco recoge la línea de caja de jewewlry nunca se alcanza.

goto: eof finaliza el ''script OMGSUB'' en su archivo por lotes. asi que

*runs away and cries like a little girl*

se repetirá el próximo.