Het commando: "GOTO" staat aan Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. beschikbaar
De voorbeelden voor het commando "GOTO"
De
`GOTO`opdracht in de Windows-opdrachtprompt wordt gebruikt om de uitvoering van een batchscript naar een specifiek regelnummer in het script te regelen. Hier zijn enkele voorbeelden:
Voorbeeld 1: Eenvoudig GOTO:
@ECHO OFF
ECHO Dit is lijn 1
GOTO :Voorbeeld
ECHO Dit wordt overgeslagen
:Voorbeeld
ECHO Dit is de regel erna GOTO
Beschrijving: Het script wordt uitgevoerd en wanneer het de regel bereikt met
`GOTO :Voorbeeld`komt, springt het naar het label
`:Voorbeeld`, en de uitvoering gaat van daaruit verder.
Voorbeeld 2: Labels gebruiken voor sprongen:
@ECHO OFF
ECHO Dit is lijn 1
GOTO :Stap1
ECHO Dit wordt overgeslagen
:Stap1
ECHO Dit is lijn 2
GOTO :Stap2
:Stap2
ECHO Dit is lijn 3
Beschrijving: Het script springt uit
`:Stap1`naar
`:Stap2`en de uitvoering gaat door.
Voorbeeld 3: Voorwaardelijke sprongen met IF:
@ECHO OFF
SET Gebruikersnaam=John
IF "%Gebruikersnaam%"=="John" GOTO :Succes
ECHO Dit wordt overgeslagen
GOTO :Einde
:Succes
ECHO Welkom, John!
:Einde
Beschrijving: Hiermee wordt gecontroleerd of de gebruikersnaam
"John" is. Zo ja, dan zal dat zo zijn
`:Succes`gesprongen en het bijbehorende bericht wordt uitgevoerd. Anders zal dat ook zo zijn
`:Einde`sprong.
Voorbeeld 4: Loopen met GOTO:
@ECHO OFF
SET /A Balie=1
:lus_start
ECHO Lus iteratie %Balie%
SET /A Balie+=1
IF %Balie% LEQ 5 GOTO :lus_start
ECHO Lus beëindigd
Beschrijving: Hier wordt een eenvoudige lus gemaakt met behulp van GOTO. De lus wordt vijf keer herhaald voordat deze eindigt.
Voorbeeld 5: Foutafhandeling met GOTO:
@ECHO OFF
REM Hier komt Code, wat mogelijk een fout kan veroorzaken
IF ERRORLEVEL 1 GOTO :Foutafhandeling
ECHO De Code werd met succes uitgevoerd
GOTO :Einde
:Foutafhandeling
ECHO er is een fout opgetreden. Foutcode: %ERRORLEVEL%
GOTO :Einde
:Einde
Beschrijving: Hier vindt u eenvoudige foutafhandeling
`GOTO`voerde uit. Als er een fout optreedt (door het foutniveau te controleren met
`ERRORLEVEL`), wordt
`:Foutafhandeling`gesprongen en er wordt een bijbehorend bericht uitgevoerd.
Het is belangrijk op te merken dat overmatig gebruik van
`GOTO`kan leiden tot moeilijk leesbare en moeilijk te onderhouden code in scripts. In veel gevallen kunnen andere constructies, zoals lussen en voorwaardelijke instructies (zoals
`IF`) de voorkeur.
"GOTO" Fragment uit Microsoft Windows Help
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Brengt CMD.EXE naar een regel in het batchprogramma met een
opgegeven label.
GOTO label
label Tekenreeks die in het batchprogramma als label wordt
gebruikt.
Labels staan aan het begin van een regel, voorafgegaan door een
dubbele punt.
Als opdrachtextensies worden ingeschakeld, verandert GOTO als
volgt:
De opdracht GOTO accepteert nu een doelnaam van :EOF waarmee de
besturing
wordt verplaatst naar het einde van het actieve
batchscriptbestand. Dit
is een gemakkelijke manier om een batchscriptbestand af te
sluiten zonder
een naam op te geven. Deze uitbreiding is handig voor de opdracht
CALL.
Typ CALL /? voor een beschrijving van extensies die van deze
functie
gebruik kunnen maken.
Belangrijke informatie, tips voor het "GOTO" commando
Bij gebruik van de
`GOTO`opdracht in de Windows-opdrachtprompt, zijn er een paar punten waarmee u rekening moet houden om ervoor te zorgen dat uw batchscript goed werkt en gemakkelijk te begrijpen is:
1.
Leesbaarheid en onderhoudbaarheid: Het overmatig gebruik van
`GOTO`kan leiden tot verwarrende en moeilijk te begrijpen code. Het is vaak raadzaam om alternatieve constructies te gebruiken, zoals lussen (
`FOR`,
`WHILE`) en voorwaardelijke verklaringen (
`IF`) om de leesbaarheid en onderhoudbaarheid van het script te verbeteren.
2.
Noem labels duidelijk: Labels (de plaatsen waar naartoe gesprongen moet worden) moeten duidelijke en betekenisvolle namen hebben om de begrijpelijkheid van de code te verbeteren. Bijvoorbeeld
`:Start`,
`:Stap1`,
`:Einde`zijn beter dan algemene namen zoals
`:Label1`,
`:Label2`.
3.
Gestructureerd programmeren: Gestructureerd programmeren bevordert duidelijke structuren in de code. Gebruik
`GOTO`zorgvuldig en probeer de code in logische blokken te ordenen.
4.
Vermijd eindeloze lussen: Als je
`GOTO`Indien gebruikt in combinatie met lussen, zorg er dan voor dat er een mechanisme is dat de lus beëindigt om eindeloze uitvoering te voorkomen.
5.
Zorg ervoor dat er labels bestaan: Voordat u naar een label springt, moet u ervoor zorgen dat het label daadwerkelijk in het script bestaat. Anders wordt het script afgesloten met een fout.
6.
Foutafhandeling: Als u
`GOTO`voor foutafhandeling moet u ervoor zorgen dat u de foutcode zorgvuldig doorneemt en op passende wijze reageert. Controleer fouten met
`ERRORLEVEL`.
IF ERRORLEVEL 1 GOTO :Foutafhandeling
7.
Geef de voorkeur aan voorwaardelijke uitspraken: In sommige gevallen zijn voorwaardelijke uitspraken (
`IF`,
`ELSE`) een beter alternatief voor
`GOTO`vooral als het de structuur van het script duidelijker maakt.
8.
Gestructureerd programmeren: Gestructureerd programmeren bevordert duidelijke structuren in de code. Gebruik
`GOTO`zorgvuldig en probeer de code in logische blokken te ordenen.
9.
Controleer alternatieven: In sommige gevallen kunnen er elegantere alternatieven zijn
`GOTO`. Overweeg of andere constructies zoals functies, lussen of voorwaardelijke instructies geschikter zijn.
10.
Opmerkingen toevoegen: Als jij
`GOTO`Als je het gebruikt, voeg dan commentaar toe om de bedoeling achter de sprong duidelijk te maken. Geef vooral commentaar op complexe of belangrijke sprongen.
Het is belangrijk op te merken dat moderne programmeerpraktijken zich vaak richten op het gebruik van
`GOTO`om gestructureerde programmering te minimaliseren en te bevorderen. In veel gevallen kunnen alternatieven de code leesbaarder en gemakkelijker te onderhouden maken.