Sequence loops and jump labels batch file: loop goto


Jump marks:


@echo off
goto jump
echo hello
echo jumped



(echo hello is ignored because the command "goto jump" skips the line "echo hello").

TEST: does a file exist?

if exist %file.txt

@echo off
if exist %file.txt goto fileexists
echo File not found!
goto END
echo File exists!

Output: if file file.txt exists: "file exists!" if file file.txt does not exist: "File not found!"


each command returns certain errorlevel:
mostly errorlevel 1 means that the command was not successful:

@echo off
xcopy c:\so c:\so2
if errorlevel 1 goto error
goto ende
echo das kopieren war nicht erfolgreich!

in this example the directory c:\so is copied to c:\so2,
if now e.g. so does not exist, the batch file writes: "the copy was not successful!"

for loop

For %%f In (c:\batch\*.bat c:\bat\*.bat) Do Copy %%f 

explanation: this line copies all files in the folder c:\batch with file extension .bat to c:\bat

 the counter can also look like this

for /l %i in (1,1,100) do echo %i

means: starting from 1 in steps of 1 up to 100; executed is echo %i (%i is the sequential number)


if "alle"=="%1" del *.tmp 

Explanation: %1 is a variable attached to the batch file when called:
e.g. batchfile.cmd variable. So if in this example "all" is appended to the batch file: batchfile.cmd all, then all files with extension .tmp will be deleted from the current directory.

Also possible would be a query with if not 1==2 ... (so if 1 is not 2 is true in this case)

wait for task

echo in der Schleife
@ping -n 10 localhost> nul
TaskList|Find "Taskname" >NUL || If Errorlevel 1 Goto WEITER

with "@ping -n 10 localhost> nul" is waited in the loop 10 seconds,
the command line "TaskList|Find "Taskname" >NUL || If Errorlevel 1 Goto CONTINUE" leaves the loop only, if the Task: "Taskname" does not run any longer

advanced topics

positive Bewertung({{pro_count}})
Rate Post:
{{percentage}} % positive
negative Bewertung({{con_count}})

THANK YOU for your review!

Questions / Comments

By continuing to browse the site, you agree to our use of cookies. More Details