Post your batch file creations here!
Moderator: DosItHelp
Post your batch file creations here!
just like the title says, Post your cmd creations down here!
Re: Post your batch file creations here!
i got more boring and i want to make something with batch file...
got any s?
got any s?
-
- Expert
- Posts: 442
- Joined: 01 Aug 2010 17:13
- Location: Canadian Pacific
- Contact:
Re: Post your batch file creations here!
1. Try editing your posts instead of repeated posting.
2. Don't upload scripts, post them between [code] tags instead.
3. No offense, but what a crappy script!
4. Are you skilled enough to make supplementary functions for command prompt? That's part of the purpose of http://www.dostips.com
5. Just wondering, are you a kid? Well, don't give up.
Re: Post your batch file creations here!
Oh, I made a game, but I accidentally deleted the BAT file. If you want the EXE, here it is:
http://dl.dropbox.com/u/10434417/Space%20Race.exe
I also made a script that shows you how to create a window in Batch and how to make the window transfer information to the command prompt.
checker1 and checker2 are just meant so that if you close one window, both of them close.
http://dl.dropbox.com/u/10434417/Space%20Race.exe
I also made a script that shows you how to create a window in Batch and how to make the window transfer information to the command prompt.
Code: Select all
@echo off
set NLM=^
set NL=^^^%NLM%%NLM%^%NLM%%NLM%
echo ^<head^>^<hta:application scroll="no" maximizebutton="no" border="thin" ^>^<title^>Window-to-Prompt Information Transfer^</title^>^<br^>^<Br^>^<br^>^<br^>^<script type="text/vbscript"^>%NL%function transfer()%NL%set file = fileCommand.createtextfile("info.txt")%NL%file.write(textbox.value)%NL%file.close()%NL%end function%NL%^</script^>^<style type="text/css"^>body{background-color:C8C8C8;}^</style^>^</head^>^<body^>^<center^>^<textarea style="height:100;width:300;" id="textbox"^>^</textarea^>^<br^>^<button onclick="transfer()" ^>Click to transfer data^</button^>^<script type="text/vbscript"^>x = window.resizeTo(344,190)%NL%set fileCommand = createobject("scripting.filesystemobject")%NL%^</script^>^</body^> > window234234.hta
echo set wshell = createobject("wscript.shell")%NL%do%NL%set wim = getobject("winmgmts:")%NL%if wim.execquery("select * from Win32_Process where name = 'cmd.exe'").Count ^> 0 then%NL%else%NL%f = wshell.run("taskkill /f /im mshta.exe",0)%NL%f = wshell.run("taskkill /f /im wscript.exe",0)%NL%end if%NL%loop > checker1.vbs
echo set wshell = createobject("wscript.shell")%NL%do%NL%set wim = getobject("winmgmts:")%NL%if wim.execquery("select * from Win32_Process where name = 'mshta.exe'").Count ^> 0 then%NL%else%NL%f = wshell.run("taskkill /f /im cmd.exe",0)%NL%f = wshell.run("taskkill /f /im wscript.exe",0)%NL%end if%NL%loop > checker2.vbs
start window234234.hta
ping 0 -n 1 > nul
start checker1.vbs
start checker2.vbs
ping 0 -n 2 > nul
del checker1.vbs
del checker2.vbs
del window234234.hta
:loop
if exist info.txt (
findstr /v "asdfasdfasdf" info.txt
echo.
del info.txt
goto loop
) else (
goto loop
)
del window234234.hta
checker1 and checker2 are just meant so that if you close one window, both of them close.
-
- Posts: 1
- Joined: 07 Dec 2017 10:22
Re: Post your batch file creations here!
I made a batch file called windows basic edition.
It is a basic batch file made by me.
Installer: https://www.mediafire.com/file/v1zu19gq ... taller.exe
Direct BAT file: http://www.mediafire.com/file/g70p1b7nw ... dition.bat
It is a basic batch file made by me.
Installer: https://www.mediafire.com/file/v1zu19gq ... taller.exe
Direct BAT file: http://www.mediafire.com/file/g70p1b7nw ... dition.bat
-
- Posts: 240
- Joined: 04 Mar 2014 11:14
- Location: germany
Re: Post your batch file creations here!
hello,
much more than what ...
this is my Little "CmdCheck.cmd", but now it is incomplete also for the future.
helpful code inside to find Lines and so on.
To be continued ...
Phil
much more than what ...
this is my Little "CmdCheck.cmd", but now it is incomplete also for the future.
helpful code inside to find Lines and so on.
To be continued ...
Code: Select all
@setlocal
@call :SetEchoBack
@echo OFF
setlocal disabledelayedexpansion
:: rem Testzeile aktivieren wenn Variable Debug gesetzt ?
if defined Debug echo on
call :checkcmdLine "%%~f0"
call :Debugsettings :checkEchoON :macro_checkParenthesis
@rem begin script
rem Section extra to debug this script
if :SUB==debug (
rem < debugsettings
:DebugSettings
rem = :DebugSettings
rem echo .%1. .%2. .%3. .%4.
rem useful for script debugging
@for %%D in (%* )do call %%~D
rem > END DebugSettings
@exit /b
rem < :SetEchoBack
:SetEchoBack
:: Liest ob ECHO ON oder OFF geschalten ist um Variablen zu setzen
:: VAR EchoBack = read and set ECHO ON / OFF
::
@rem ^= :setechoBack
@(
echo>"%temp%\isOn.Ft"
for /f "usebackq tokens=2 delims=()" %%E in ("%temp%\isOn.FT"
)do @set "EchoBack=echo %%E &"
del "%temp%\isOn.Ft"
set prompt=$G$S
)
:
@rem ^> END SetEchoBack
@if /i "%~0" equ ":SetEchoBack" exit /b
@rem Testline2
rem < :checkcmdline
:checkCMDline [parenthBatch Fullname]
:: setzt eine Variable CMDPause wenn im Batchmodus
:: VAR CMDPause = read CMD-Kontex ;set pause
:: When called from the parent batch program, the Fullname must be passed as a parameter
@rem = :checkCmdLine
@(
setlocal disabledelayedexpansion
rem CMD-Kontex ?
set "CMDPause=%~f0"
if /i "%~0" equ ":checkCMDline" set "CMDPause=%~f1"
)
@set "CMDPause=%CMDPause:\=\\%"
@(
set "CMDPause=%CMDPause:.=\.%"
setlocal enabledelayedexpansion
for /f delims^= %%i in ("!CMDcmdLine!") do @endlocal &set "CMDPin=%%i"
)
@cmd /von /c "echo !CMDPin!" |findstr /irc:"cmd .*\/c \"\"%CMDPause%\" .*\"" /c:"cmd\.exe .*\/c \"\"%CMDPause%\" .*\"" >nul
@(
endlocal
if not errorlevel 1 set "CMDPause=pause &"
if errorlevel 1 set "CMDPause="
exit /b
)
rem > END checkcmdLine
rem Testzeile aktivieren wenn Variable Debug gesetzt ?
@if defined Debug echo on
rem < :checkEchoOn
:checkEchoOn
:: Liest ob ECHO ON oder OFF geschalten ist um Variablen zu setzen
:: VAR Mon = read ECHO ON / OFF ;set Echo( / rem
rem = :checkEchoOn
@(
rem ^%Mon% Zeilen bei Echo on auf REM umschalten
echo>"%temp%\isOn.Ft"
< "%temp%\isOn.Ft" find "ON" >nul
if not errorlevel 1 set "Mon=rem"
if errorlevel 1 set "Mon=echo("
del "%temp%\isOn.Ft"
rem > END checkEchoOn
if /i "%~0" equ ":CheckEchoOn" exit /b
)
rem < :macro_checkParenthesis
= :macro_checkParenthesis
:: FIRST DEFINE THE MACRO with Tempfile
%== VAR # = Number of Failed ==%
%== VAR ) = macro for Check ==%
rem = :macro_checkParenthesis
@for %%A in ("%temp%\Pfile.cmd") do @(
(
echo ^@(set LF=^^
echo(
echo(^)
echo @set ^^^"\n=^^^^^^%%LF%%%%LF%%^^%%LF%%%%LF%%^^^^"
echo @set ^^^)=@^(@%%\n%%
for /l %%i in (0 1 50) do @echo(^)^^^&^^^>nul set/a#=%%i%%\n%%
echo(^)
) >%%A
call %%A
del %%A
exit /b
)
rem > END :macro_checkParenthesis
rem v --- next Lines will show all are missing ) ----
%)%
@if :%#% leq :0 for %%. in (.)do rem ^ --- before Lines will show all missing ) . ----
@if :%#% gtr :0 echo --- %#% ^) missing
rem Section extra to debug this script END
:: begin Main
::CheckCMD
if "%~1" neq "/?" goto :noHelp
echo Zum leichten Check von Batchcode. Listet gefundene Werte mit Zeilennummer auf.
echo(&<nul set /p ="%~n0 [Laufwerk:][Pfad]Dateiname "
for /f "delims=: " %%i in ('findstr /irc:"^[ ]*:[^:]* .* " "%~f0"') do (
%= Auflistung der Gefundenen Ergebnisse in einer Zeile =%
<nul set /p "=[%%i] "
)
echo(&echo(
echo Ohne Suchwert werden alle Werte aufgelistet.
echo(&echo Folgende Werte werden bei Angabe seperat aufgelistet. &echo(
for /f "tokens=*delims=:" %%i in ('findstr /irc:"^[ ]*:[^:]* .* " "%~f0" ') do echo %%i
echo(
%CMDPause%%EchoBack%exit /b 0
:noHelp
if not exist "%~1" echo Syntaxfehler. Datei nicht gefunden! 1>&2 &%CMDPause%%EchoBack%exit /b1
set IF=if errorlevel 1 (type nul)else echo
%mon% Ueberpruefe %1
echo(
:wieder
rem Suche :Sprungmarke Leerzeichen TAB
findstr /i /r /c:"^ *:%~2 *" "%~f0" >nul && (
call :%~2 %1 %2
if "%~3" neq "" shift /2 & goto :wieder
%CMDPause%%EchoBack%exit /b 0
) || if "%~2" neq "" (
echo Keine Gueltige Abfrage: %2
if "%~3" neq "" shift /2 & goto :wieder
%CMDPause%%EchoBack%exit /b 1
)
rem *** Notiz *** Verkettung von Befehlen: EIN & am Zeilenende wird ignoriert
rem *** Notiz *** bei ECHO ON: Befehle welche um ein Leerzeichen eingerückt sind
rem sind innnerhalb einer Klammer und entsprechen einer Zeile
rem :Sprungmarke Leerzeichen TAB(TAB) Beschreibung
:ECHO ECHO Zustand @/on/off Zeilen
%Mon% ECHO
findstr /nvrc:"^[ ]*:*:" %1 |findstr /irc:"[@]*[^a-Z]echo on\>" /c:"[@]*[^a-Z]*echo off[^a-Z]*"
if not errorlevel 1 type nul
if errorlevel 1 echo Keine ECHO/Silent Befehle gefunden!
echo(
if /i "%~0" equ ":ECHO" goto :eof
:@ Befehle Stummschalten @ Zeilen
@rem don't Show commands
rem if /i "%~0" equ ":@" (
%Mon% @
findstr /nvrc:"^[ ]*:*:" %1 |findstr /irc:"[^a-Z]*[@][a-Z(]"
if not errorlevel 1 echo(
if errorlevel 1 echo Keine Silent Befehle gefunden!
echo(
if /i "%~0" equ ":@" goto :eof
)
:LOCAL setLOCAL en/disAble EXTensions/DELAYedExpansion ;EXIT
%Mon% LOCAL
rem *** Notitz * Findstr: wortEnde \> und folgende Sonderzeichen in
rem einer ZeichenKlasse NICHT gleichzeitig nehmen
rem NICHT - /C:"[^a-Z]*setlocal[ ]*[^a-Z]"^
rem ersatz -
findstr /nir^
/C:"[^a-Z]*setlocal[ ]*$"^
/C:"[^a-Z]*setlocal[ ]*&"^
/C:"[^a-Z]*endlocal\>"^
/c:"[^a-Z]*setlocal EnableDelayedExpansion\>"^
/c:"[^a-Z]*setlocal DisableDelayedExpansion\>" ^
/c:"[^a-Z]*setlocal EnableExtensions\>"^
/c:"[^a-Z]*setlocal DisableExtensions\>" /c:"[^a-Z]*exit[ ]*\/b" ^
/c:"[^a-Z]*GOTO[;:= ][;:= ]*eof\>" ^
%1
if not errorlevel 1 echo(
if errorlevel 1 echo Keine Local/exit gefunden!
echo(
if /i "%~0" equ ":%2" goto :eof
:CALL Sprunganfang Positionen Unteroutinen
%Mon% CALL
rem *** Notiz *** Findstr regulaer: Zeilenanfang und Wortanfang nicht gleichzeitig nehmen
findstr /nirc:"^[^:].*[(&|]*[^:][ ]*call\>" /c:"^call\>" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Keinen CALL Sprunganfang gefunden!
echo(
if /i "%~0" equ ":%2" goto :eof
:GOTO Sprunganfang Positionen Fortsetzung ab :Marke
%Mon% GOTO
rem *** Notiz * GOTO[;:= ][;:= ]*.*
findstr /nvrc:"^[ ]*:" %1 |findstr /irc:"[^a-Z]*goto\>"
if not errorlevel 1 echo(
if errorlevel 1 echo Keinen GOTO Sprunganfang gefunden!
echo(
if /i "%~0" equ ":GOTO" goto :eof
:MARKE SprungMarke
%Mon% :MARKE
rem *** Notiz *** Betrifft innerhalb einer Klammer: wird auf der
rem folgenden Zeile eine Marke Gefunden, muss in der neuen FolgeZeile
rem mit einem blinden Befehl abgeschlossen werden.
rem Doppelpunk oder rem oder @.
rem Die Abschlusszeile wird bei ECHO ON auch bei @ Angezeigt.
rem - eine Abschliesende :Kommentarzeile bleibt als leere Zeile stehen.
rem Eine Klammer benötigt mindestens einen Befehl.
findstr /nirc:"^[;= ]*:[^:#].*" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Keine :MARKE Sprungposition gefunden!
echo(
if "%~2" neq "" goto :eof
:PARENTH Klammern ( )
%Mon% PARENTH
rem *** Notiz ***
rem Eine Klammer benötigt mindestens einen Befehl.
rem bei ) wenn Klammerlevel 0: : !! KEINE Multiline möglich.
rem schliesende Klammern werden wie REM behandelt.
rem Variablen werden behandelt. Sonderzeichen sind immer Normal -> Maskierter Bereich.
rem Die Zeile wird jedoch NICHT angezeigt. -> stumme KommentarZeile.
findstr /nirc:"^[;= ]*[^:#][^:]*.*[^a-Z][()]" /c:"^[;= @]*[()]" %1
if not errorlevel 1 echo(
if errorlevel 1 echo keine Klammern gefunden!
echo(
if /i "%~2" neq "" goto :eof
:PIPE Eingabe Zeilen
%Mon% PIPE
findstr /nirc:"^[;= ]*[^:#].*[^|]|[^|].*" /c:"^[;= ]*[^:#].*[^^][^|]^|[^^][^|].*" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Keine Eingabe gefunden!
echo(
if /i "%~0" equ ":PIPE" goto :eof
:REDIRECT Handle Umleitung
rem if /i "%~0" equ ":REDIRECT" (
%Mon% REDIRECT
findstr /nivrc:"^[,;= ]*:" /c:"^[,;= ]*rem" %1 |findstr /irc:"[<>]&[1-9]" /c:"[1-9]>" /c:"[<>]." ^
/c:"^[<>]^&[1-9]" /c:"[1-9]^>^>" /c:"[1-9]^>" /c:"^>."
if not errorlevel 1 echo(
if errorlevel 1 echo Keine Handle Umleitung gefunden!
echo(
if /i "%~0" equ ":REDIRECT" goto :eof
)
:COMMENT Kommentarzeilen mit ::
rem if /i "%~0" equ ":COMMENT" (
%Mon% :: KOMMENTAR
rem *** Notitz *** werden wie normale Zeilen behandelt.
rem bleiben stumm.
rem siehe auch: MARKE
findstr /nirc:"^[,;= ]*::" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Keine Kommentarzeile :: gefunden!
echo(
if /i "%~0" equ ":COMMENT" goto :eof
)
:REM Kommentarzeilen mit REM
%Mon% REM
rem *** Notiz *** bei REM: wird vollständig laut Parsing eingelesen.
rem Variablen werden behandelt. Sonderzeichen sind immer Normal -> Maskierter Bereich.
rem Die Zeile wird bis zum Zeilenende nur bei Echo ON ausgegeben.
findstr /nirc:"^[ ,;=]*rem\>" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Kein REM Kommentar gefunden!
echo(
if "%~2" neq "" goto :eof
:LoopCOMMENT Kommentare in Schleifen %= Loop Comment % werden aufgelistet
%Mon% %%= LOOPCOMMENT =%%
findstr /nirc:"^[ ,;=]*[^%%a-Z]%%==*[a-Z]*.*%%" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Kein %%= Loop Kommentar %% gefunden!
echo(
if "%~2" neq "" exit /b
:OneLINE Einanderfolgende Zeilen (ohne Zeilenumbruch)
%Mon% OneLine^^
rem *** Notiz *** bei REM UND bei ) wenn Klammerlevel 0: !! KEINE Multiline möglich.
rem *** Notiz *** bei Klammerlevel 0: schliesende Klammern werden wie REM behandelt.
rem Die Zeile wird jedoch nicht angezeigt. -> stumme KommentarZeile.
rem *** Notiz *** bei REM: wird vollständig laut Parsing eingelesen.
rem Variablen werden behandelt. Sonderzeichen bleiben Normal -> Maskierter Bereich
rem Die Zeile wird bis zum Zeilenende nur bei Echo ON ausgegeben.
findstr /nirc:".*\^$" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Kein OneLine gefunden!
echo(
if "%~2" neq "" exit /b
:SET Variablen werden Definiert
%Mon% SET
findstr /nvrc:"^[ ]*:*:" %1 |findstr /irc:"[^a-Z]set[^a-Z]"
if not errorlevel 1 echo(
if errorlevel 1 Keine SET Anweisung gefunden!&&type nul
echo(
if "%~2" neq "" goto :eof
:VARS Variablennamen werden aufgelistet
%Mon% %%VARIABLEN%%
findstr /nvrc:"^[ ]*:" /c:"%%.*:~%%" %1 |findstr /irc:"%%[a-Z§$.\_+#?-][^0-9~=%% ]*[a-Z§$./_+'?-]*%%"^
/c:"%%[a-Z§$.\_+#?-][^0-9~=%% ]*[a-Z]*:[ ~0-9].*%%" /c:"%%[a-Z§$.\_+#?-][^0-9~=%% ]*[a-Z]*:[a-Z§$._+'?-].*%%"
if not errorlevel 1 echo(
if errorlevel 1 echo Keine %%Variable%% gefunden!
echo(
%Mon% !VARIABLEN!
findstr /nvrc:"^[ ]*::" %1 |findstr /irc:"[^^]![a-Z§$._+#?\-][a-Z§$._+#?\-]*[^0-9~= ]*.*[^^]!"^
/c:"[^^]![a-Z§$._+#?\-]*!"
if not errorlevel 1 echo(
if errorlevel 1 echo Keine !Variable! gefunden!
echo(
if "%~2" neq "" goto :eof
:ForVARS Auflistung von For Schleifen Variablen
%Mon% FOR VARIABLEN
findstr /nirc:"^[ ]*[^:].*[^a-Z]%%%%~*[dpnxf]*[?#@a-Z][^0-9]*[^a-Z]*" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Keine FOR -Variable gefunden!
echo(
if "%~2" neq "" goto :eof
:PARAM die Verwendung von Parametern
%Mon% PARAMETER
findstr /nirc:"^[ ]*[^:].*[^a-Z]%%~*[dpnxf]*[0-9\*][^a-Z]*" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Kein Parmeter gefunden!
echo(
if "%~2" neq "" goto :eof
:NoCOMMENT der Batch ohne Kommentarzeilen mit :: rem %= InLoop %
rem wird nur aufgelistet bei direkter Angabe
if /i "%~0" equ ":NoCOMMENT" (
%Mon% KEIN :: rem KOMMENTAR ^(Script ohne Kommentar^)
findstr /nvrc:"^[,;= ]*::" /c:"^[ ,;=]*rem\>" /c:"^[ ,;=]*[^%%a-Z]%%==*[a-Z]*.*%%" %1
if not errorlevel 1 echo(
echo(
goto :eof
)
:ERROR Eventuelle Fehlerzeile
%Mon% ERROR
findstr /nirc:"^[ ]*[^:].*[^a-Z]*[^%%]%%~*[dpnxf]*[?#@a-Z][ ]" %1
if not errorlevel 1 echo(
if errorlevel 1 echo Keine FOR -Errors gefunden!
echo(
if "%~2" neq "" goto :eof
:Level Klammern ( )
%Mon% Level
rem *** Notiz *** Klammern werden bei rem Kommentaren bis zum Zeilenende ignoriert
setlocal
rem 1. token i = Offset Zeichen
rem 2. Token j = Fundstelle Nr.
set /a Level=0
rem .. set "Blockline="
set "TempF=%temp%\checkfile.tmp"
for /f delims^= %%I in ('findstr /nirc:"^[;= ]*[^:#][^:]*.*[^a-Z][()]" /c:"^[;= @]*[()]" %1') do (
set "Line=%%I"
echo %%I
setlocal enabledelayedexpansion
>"%tempF%" echo(!Line:*:=!
for /f "delims=:" %%N in ("!Line!") do (
endlocal
set "in="
set "out="
set "L="
for /f "tokens=1-3 delims=[]:" %%i in (' cmd /u /von /c "type %tempF%"^|find /n /v ""^|findstr /n "( )" ') do (
setlocal enabledelayedexpansion
set "Lo=!Line:*:=!"
if %%k equ ^( (
set "Li=!Lo:~0,%%j!"
set "Li=!Li:~-5!"
if /i !Li! equ echo^( (endlocal) else echo !Li! &for /f "delims=" %%a in ("!in! %%j") do (
endlocal &set "in=%%~a" &set /a "Level +=1", L"=1"
)
) else (
set "Lo=:!Lo!"
echo !Lo:~%%j,5!
for /f "delims=" %%a in ("!out! %%j") do endlocal &set "out=%%~a" &set /a "Level -=1" &set "L=1"
)
)
if defined L (
echo(%%I
setlocal enabledelayedexpansion
if !Level! gtr !Last! echo BEGIN ^( BLOCK
if defined in ( if defined out (
echo %%N - in: !in! out: !out!
) else (echo %%N - in: !in!)
)else echo %%N - out: !out!
if !Level! lss 0 ( echo FEHLER
) else if !Level! lss !Last! (
echo End BLOCK ^)
)
)
echo -- LEVEL = !Level! &echo(
endlocal
set /a Last=Level
) )
)
endlocal
if not errorlevel 1 echo(
if errorlevel 1 echo keine Klammern gefunden!
echo(
if /i "%~2" neq "" goto :eof
rem Scriptende
%EchoBack%
%CMDPause%exit /b &rem Scriptende
rem checkCMD END
:rem this following things are not Included
:: only for testing
rem Blockline - Zeilenübergreifend
call set "Blockline=%%N,%%Blockline%%"
rem nBlock - Einzeilig
call set nBlock=%%nBlock%% %%j
call set "Blockline=%%Blockline:*,=%%"
if a == b for /l %%T in (!level! 1 !last!)do for /f "delims=," %%B in ("!Blockline!")do (
set "Blockline=!Blockline:*,=!"
rem Phase 2 Spezialzeichen -> Execute: ^ ( ) " & < > | , ; = [space] [TAB] : ' `
rem NORMAL ^( ^) ^" ^& ^< ^> ^| ^[space] ^[TAB] ^, ^; ^= ^: ^' ^`
rem A0: " -> Stringflag 1 = first " ; B0: Stringflag -1 = 0 = next " ; -> A0: -> B0: [...]
rem A1: Caret next Sign = Normal ; A2: Caret before CRLF -> noCR -> LF = MultiLine
rem A3: LF - ENDParse
rem A4: ( -> LEVEL +1 = first TOKEN ; B4: ) -> LEVEL -1 ; LEVEL > 0 -> = MultiLine
rem A5: | -> Restart Phase LEFT and RIGHT ; A6: || -> if RIGHT ERROR ExeCute LEFT
rem A6: TokenLIST -> LEVEL = 0 -> " [space] , ; = & | < > ( , "
rem B6: TokenLIST -> LEVEL > 0 -> " [space] , ; = & | < > ( , " )
rem A7: Command IF -> EXTRA
rem B7: Command REM -> first second TOKEN
rem C7: Command FOR -> EXTRA
rem Phase 4 ForLoopVars
rem Phase 6
rem Phase 5 DelayedExpansion ; cmd /vON
rem rem ...
rem Phase 3 ECHO ON 0 (call Block ; For Loop -> (Loop) ; ( Loop ) ; EXPansion
rem call Block -> first ECHO
rem For Loop -> see 0 (ECHO ON): LoopVarNames ; exeCute: Content of LoopVar
::Weitere Pruefungen ...
rem :Sprungmarke Leerzeichen TAB(TAB) Beschreibung
%CMDPause%%EchoBack%exit /b &rem Scriptende