Post your batch file creations here!

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
cmdgod
Posts: 5
Joined: 20 May 2011 10:38

Post your batch file creations here!

#1 Post by cmdgod » 20 May 2011 10:47

just like the title says, Post your cmd creations down here! :D

cmdgod
Posts: 5
Joined: 20 May 2011 10:38

Re: Post your batch file creations here!

#2 Post by cmdgod » 20 May 2011 11:01

got booring made this.
File Creator
http://www.mediafire.com/?mcv9rm7sgrmmcis

cmdgod
Posts: 5
Joined: 20 May 2011 10:38

Re: Post your batch file creations here!

#3 Post by cmdgod » 20 May 2011 11:33

i got more boring and i want to make something with batch file... :?
got any :idea: s?

cmdgod
Posts: 5
Joined: 20 May 2011 10:38

g

#4 Post by cmdgod » 20 May 2011 13:56

        h
Last edited by cmdgod on 22 May 2011 05:07, edited 1 time in total.

orange_batch
Expert
Posts: 442
Joined: 01 Aug 2010 17:13
Location: Canadian Pacific
Contact:

Re: Post your batch file creations here!

#5 Post by orange_batch » 21 May 2011 01:56

Image

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! :roll:

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. 8)

nitt
Posts: 218
Joined: 22 Apr 2011 02:43

Re: Post your batch file creations here!

#6 Post by nitt » 21 May 2011 12:23

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.

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.

MatthyPlayz
Posts: 1
Joined: 07 Dec 2017 10:22

Re: Post your batch file creations here!

#7 Post by MatthyPlayz » 07 Dec 2017 10:28

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

pieh-ejdsch
Posts: 240
Joined: 04 Mar 2014 11:14
Location: germany

Re: Post your batch file creations here!

#8 Post by pieh-ejdsch » 12 Dec 2017 16:25

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 ... :)

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
Phil

Post Reply