Kommandoen: "GOTO" er tændt Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. tilgængelig
Eksempler på kommandoen "GOTO"
Det
`GOTO`kommando i Windows Kommandoprompt bruges til at styre udførelsen af et batchscript til et bestemt linjenummer i scriptet. Her er nogle eksempler:
Eksempel 1: Simpel GOTO:
@ECHO OFF
ECHO Dette er linje 1
GOTO :Eksempel
ECHO Dette vil blive sprunget over
:Eksempel
ECHO Dette er linjen efter GOTO
Beskrivelse: Scriptet udføres, og når det kommer til linjen med
`GOTO :Eksempel`kommer, springer den til etiketten
`:Eksempel`, og udførelsen fortsætter derfra.
Eksempel 2: Brug af etiketter til hop:
@ECHO OFF
ECHO Dette er linje 1
GOTO :Trin1
ECHO Dette vil blive sprunget over
:Trin1
ECHO Dette er linje 2
GOTO :Trin2
:Trin2
ECHO Dette er linje 3
Beskrivelse: Scriptet springer fra
`:Trin1`til
`:Trin2`, og udførelsen fortsætter.
Eksempel 3: Betingede spring med IF:
@ECHO OFF
SET Brugernavn=John
IF "%Brugernavn%"=="John" GOTO :Succes
ECHO Dette vil blive sprunget over
GOTO :Ende
:Succes
ECHO Velkommen, John!
:Ende
Beskrivelse: Dette kontrollerer, om brugernavnet er
"John". Hvis ja, vil det
`:Succes`hoppet, og den tilsvarende meddelelse udsendes. Ellers bliver det også
`:Ende`sprang.
Eksempel 4: Looping med GOTO:
@ECHO OFF
SET /A Tæller=1
:loop_start
ECHO Loop iteration %Tæller%
SET /A Tæller+=1
IF %Tæller% LEQ 5 GOTO :loop_start
ECHO Sløjfe sluttede
Beskrivelse: Her oprettes en simpel løkke ved hjælp af GOTO. Sløjfen gentages fem gange før afslutning.
Eksempel 5: Fejlhåndtering med GOTO:
@ECHO OFF
REM Her kommer Code, hvilket potentielt kan forårsage en fejl
IF ERRORLEVEL 1 GOTO :Fejlhåndtering
ECHO Det Code blev udført med succes
GOTO :Ende
:Fejlhåndtering
ECHO Der opstod en fejl. Fejlkode: %ERRORLEVEL%
GOTO :Ende
:Ende
Beskrivelse: Enkel fejlhåndtering findes her
`GOTO`udført. Hvis der opstår en fejl (ved at kontrollere fejlniveauet med
`ERRORLEVEL`), bliver til
`:Fejlhåndtering`hoppet, og en tilsvarende meddelelse udsendes.
Det er vigtigt at bemærke, at overdreven brug af
`GOTO`kan føre til svær at læse og svær at vedligeholde kode i scripts. I mange tilfælde kan andre konstruktioner såsom sløjfer og betingede udsagn (som
`IF`) foretrækkes.
"GOTO" Uddrag fra Microsoft Windows Hjælp
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Går til en navngivet linje i et batchprogram.
GOTO etiket
etiket Angiver en tekststreng, der er brugt i
batchprogrammet som
etiket.
En etiket angives på en linje for sig selv, begyndende med et
kolon.
Hvis kommandoudvidelserne er aktiveret, ændres GOTO på følgende
måde:
Kommandoen GOTO accepterer nu destinationsetiketten :EOF, der
overfører
kontrollen til slutningen af den aktuelle batch-scriptfil. Dette
er en
let måde at afslutte en batch-scriptfil på uden at definere en
etiket.
Skriv CALL /? for at få en beskrivelse af udvidelserne af
kommandoen
CALL, der gør denne funktion nyttig.
Vigtig information, tip til kommandoen "GOTO"
Ved brug af
`GOTO`kommando i Windows-kommandoprompten, er der et par punkter, du skal huske på for at sikre, at dit batchscript fungerer korrekt og er let at forstå:
1.
Læsbarhed og vedligeholdelse: Overdreven brug af
`GOTO`kan føre til forvirrende og svær at forstå kode. Det er ofte tilrådeligt at bruge alternative konstruktioner såsom sløjfer (
`FOR`,
`WHILE`) og betingede erklæringer (
`IF`) for at forbedre læsbarheden og vedligeholdelsen af scriptet.
2.
Navn etiketter tydeligt: Etiketter (de steder at hoppe til) skal have klare og meningsfulde navne for at forbedre kodeforståeligheden. For eksempel
`:Start`,
`:Trin1`,
`:Ende`er bedre end almindelige navne som
`:Label1`,
`:Label2`.
3.
Struktureret programmering: Struktureret programmering fremmer klare strukturer i koden. Brug
`GOTO`omhyggeligt og prøv at organisere koden i logiske blokke.
4.
Undgå endeløse sløjfer: Hvis du
`GOTO`Hvis det bruges sammen med loops, skal du sørge for, at der er en mekanisme, der afslutter loopet for at undgå endeløs udførelse.
5.
Sørg for, at etiketter eksisterer: Før du hopper til en etiket, skal du sikre dig, at etiketten faktisk findes i scriptet. Ellers afsluttes scriptet med en fejl.
6.
Fejlhåndtering: Hvis du
`GOTO`for fejlhåndtering, sørg for at gennemgå fejlkoden omhyggeligt og reagere korrekt. Tjek fejl med
`ERRORLEVEL`.
IF ERRORLEVEL 1 GOTO :Fejlhåndtering
7.
Foretrækker betingede erklæringer: I nogle tilfælde kan betingede erklæringer (
`IF`,
`ELSE`) et bedre alternativ til
`GOTO`især hvis det gør manuskriptets struktur klarere.
8.
Struktureret programmering: Struktureret programmering fremmer klare strukturer i koden. Brug
`GOTO`omhyggeligt og prøv at organisere koden i logiske blokke.
9.
Tjek alternativer: I nogle tilfælde kan der være mere elegante alternativer
`GOTO`. Overvej, om andre konstruktioner såsom funktioner, sløjfer eller betingede udsagn er mere passende.
10.
Tilføj kommentarer: Hvis du
`GOTO`Hvis du bruger det, skal du tilføje kommentarer for at gøre intentionen bag springet klar. Kommenter især komplekse eller vigtige spring.
Det er vigtigt at bemærke, at moderne programmeringspraksis ofte fokuserer på brugen af
`GOTO`at minimere og fremme struktureret programmering. I mange tilfælde kan alternativer gøre koden mere læsbar og nemmere at vedligeholde.