il comando goto sposta l'esecuzione del codica ad una determinata etichetta indicata
il codice verrà eseguito da quel punto e se non incontra un altro goto non torenrà più inditro ma eseguirà fino alla fine del codice
sintassi
goto etichetta
....
etichetta:
l'etichetta di default che indica la fine del file :eof anche se non indicata
goto :eof va alla fine del file
si usa soprattutto nelle verifiche IF
dopo una determinata verifica si preosegue lo script ad una determinata etichetta
esempio: se la VARIABILE non esiste settala ciao
if defined VARIABILE goto fine
set VARIABILE=ciao
:fine
il comando permette anche di creare cicli simili al where
sintassi
- goto nel if
:etichetta
if codizione do (
....
goto etichetta
)
- utilizzo eof
:etichetta
if codizione do goto :eof
....
goto etichetta
esempio: calcolo lunghezza array creando un ciclo
@echo off
set Arr[0]=1
set Arr[1]=2
set Arr[2]=3
set Arr[3]=4
set /a x=0
:loop
if defined Arr[%x%] (
call echo %%Arr[%x%]%%
set /a x+=1
goto :loop
)
@echo lunghezza array %x%