BUG in batch datei (loop.bat)
Ich habe ein problehm mit der unten genanten batch datei.
immer wen ich den befehl "loop help" eingebe bekomme ich immer diese fehlermeldung
"==0" ist syntaktisch an dieser stelle nicht vereinbar.
das pasiert bei jedem einstelligen befehl z.B. loop netstat, loop /?.
ich habe mich schon ewig damit beschäftigt nd keine lösung daführ gefunden.
wen jemand unter euch eine ide hat were das klasse (ich freue mich auf jeden vorschlag zur problehmlösung) danke.
loop.bat
immer wen ich den befehl "loop help" eingebe bekomme ich immer diese fehlermeldung
"==0" ist syntaktisch an dieser stelle nicht vereinbar.
das pasiert bei jedem einstelligen befehl z.B. loop netstat, loop /?.
ich habe mich schon ewig damit beschäftigt nd keine lösung daführ gefunden.
wen jemand unter euch eine ide hat were das klasse (ich freue mich auf jeden vorschlag zur problehmlösung) danke.
loop.bat
@echo off
if %1==--help (echo Fhrt den angeg„benen Befehl immer wieder aus
echo .
echo loop Befehl
echo .
echo -t Zahl Zeitintervalle bis zum n„chsten Sart, Standart Wert ist 1
echo -t 0 Abschalten der Verz”gerung
goto 4)
if %1==-t (if %2==0 goto 2
set n=%2
goto 3)
:1
cls
%1 %2 %3 %4 %5 %6 %7 %8 %9
ping -n 1 1.1.1.1 > nul
goto 1
:2
cls
%3 %4 %5 %6 %7 %8 %9
goto 2
:3
cls
%3 %4 %5 %6 %7 %8 %9
ping -n %n% 1.1.1.1 > nul
goto 3
:4
Please also mark the comments that contributed to the solution of the article
Content-Key: 68881
Url: https://administrator.de/contentid/68881
Printed on: April 18, 2024 at 05:04 o'clock
2 Comments
Latest comment
Hallo kunert0345 und willkommen im Forum!
Mein Vorschlag (inkl einiger kleinerer kosmetischer Korrekturen) sähe so aus:
Zur Lösung des "if"-Problems habe ich an den entsprechenden Stellen Anführungszeichen gesetzt, wodurch auch bei fehlenden Parametern noch ein Vergleich möglich ist. Beim Aufruf mit "loop help" ergäbe sich dann in der relevanten Zeile:
Vielleicht noch kurz zu %~1: Damit werden eventuell übergebene Anführungszeichen entfernt (da ich ohnehin selbst welche setze) - wäre hier nicht unbedingt nötig, schadet aber auch nicht.
Grüße
bastla
Mein Vorschlag (inkl einiger kleinerer kosmetischer Korrekturen) sähe so aus:
@echo off
if "%~1"=="--help" (
echo Fhrt den angegebenen Befehl immer wieder aus
echo.
echo loop Befehl
echo.
echo -t Zahl Zeitintervalle bis zum n„chsten Start, Standardwert ist 1
echo -t 0 Abschalten der Verz”gerung
goto :eof
)
if "%~1"=="-t" (
if "%~2"=="0" goto 2
set n=%~2
goto 3
)
:1
cls
%1 %2 %3 %4 %5 %6 %7 %8 %9
ping -n 1 127.0.0.1 > nul
goto 1
:2
cls
%3 %4 %5 %6 %7 %8 %9
goto 2
:3
cls
%3 %4 %5 %6 %7 %8 %9
ping -n %n% 127.0.0.1 > nul
goto 3
if "help"=="-t" (if ""=="0" goto 2
Grüße
bastla