- 3.6 Caminar
Un script no tiene patas, pero la ejecución del código no se detiene, y si no hacemos algo para detenerla, la ventana de la CMD se cerrará al finalizar la ejecución de nuestro código, muchas veces sin darnos opción a ver que está pasando.
Se puede detener la ejecución usando el comando Pause.
Un ejemplo:
Código [Seleccionar]
@Echo OFF
Echo Esto es un test !
Pause
TIP: Para silenciar el echo del comando Pause lo usaremos de esta manera:
Código [Seleccionar]
Pause >NUL
Muchas veces necesitaremos dividir nuestro script en bloques, en varías partes imaginarias (o no tán imaginarias) y dirigirnos hacia esa parte, como por ejemplo las subrutinas.
Una parte de un script se tiene que dividir usando las denominadas etiquetas
Una etiqueta se identifica porque siempre lleva el caracter : delante del nombre, así:
Código [Seleccionar]
:Soy una etiqueta
Debajo de la etiqueta se puede colocar las líneas de código que deseemos, esas líneas formaran un conjunto con la etiqueta y por eso tenemos que imaginarla como una "parte" imaginaria dividida del scirpt, ya que esas líneas solo se procesarán si se llama a la etiqueta (O si se procesa secuencialmente sin haber llamado a ninguna etiqueta antes).
Para "caminar" hacia una etiqueta usaremos el comando GOTO seguido del nombre de la etiqueta a la que queremos ir.
Véamos un ejemplo de todo esto:
Código [Seleccionar]
@Echo OFF
Goto :Etiqueta_2
:Etiqueta_1
Echo Estoy en la etiqueta 1 !
:Etiqueta_2
Echo Estoy en la etiqueta 2 !
Pause>NUL
Como se puede comprobar, el contenido de la "Etiqueta_1" no se llega a procesar porque una línea más arriba se procesa primeramente el comando GOTO y este se dirige directamente a la "Etiqueta_2", omitiendo todo el contenido de código que haya antes de dicha etiqueta.
NOTA: Jamás escribiremos nombres de etiquetas con espacios en el nombre, ya que todo lo que haya después del espacio se asignaría como un argumento de la etiqueta.
NOTA: Puede haber uno o varios espacios entre el comando y el nombre de la etiqueta:
Código [Seleccionar]
Goto:Etiqueta
Goto :Etiqueta
Goto :Etiqueta