Batch kehrt zur Sprungmarke zurück, obwohl es pingen soll?
Guten Tag zusammen,
ich bin derzeit am Schreiben einer Batch, die eben bestimmte Komponente anpingen soll, die man per Usereingabe eingibt.
Allerdings springt er bei dem Befehl "ping" wieder an den Start und möchte meine KDNR haben.
Woran kann das liegen?
Vielen Dank im Voraus.
Mit freundlichen Grüßen.
ich bin derzeit am Schreiben einer Batch, die eben bestimmte Komponente anpingen soll, die man per Usereingabe eingibt.
Allerdings springt er bei dem Befehl "ping" wieder an den Start und möchte meine KDNR haben.
Woran kann das liegen?
@echo on
:Start
set /p KDNR=Bitte KDNR eingeben:
IF %KDNR% GTR 10915 (
goto Start
)
:Auswahl
set /p Auswahl=Bitte auswaehlen, was angepingt werden soll. Test1 (h) Test2 (l) Test3 (b) Test4 (t) Test5 (d) Test6 (p) :
IF %Auswahl% NEQ h IF %Auswahl% NEQ l IF %Auswahl% NEQ b IF %Auswahl% NEQ t IF %Auswahl% NEQ d IF %Auswahl% NEQ p (
goto Error1
)
REM Arbeitsverzeichnis etc. wird gesetzt
setlocal enabledelayedexpansion
set "Suchverzeichnis=D:\Testverzeichnis"
set "Suchdatei=Daten.txt"
set "Suchtext=%KDNR%"
for %%a in ("%Suchverzeichnis%\%Suchdatei%") do (
for /f "delims=:" %%b in ('findstr /i /n /c:"%Suchtext%" "%%a"') do (
IF %Auswahl%==h set /a theNextline=%%b+1 > NUL
IF %Auswahl%==l set /a theNextline=%%b+2 > NUL
IF %Auswahl%==b set /a theNextline=%%b+3 > NUL
IF %Auswahl%==t set /a theNextline=%%b+4 > NUL
IF %Auswahl%==d set /a theNextline=%%b+5 > NUL
IF %Auswahl%==p set /a theNextline=%%b+6 > NUL
for /f "delims=: tokens=1,*" %%i in ('findstr /n $ "%%a" ^| findstr /b "!theNextLine!"') do (
set IP=%%j
)
)
)
echo ---------------------------------------------------------------------------------
echo Es wird der Markt %KDNR% mit der gewuenschte IP-Adresse %IP% 10x angepingt.
echo ---------------------------------------------------------------------------------
ping %IP% -n 10
echo ---------------------------------------------------------------------------------
set /p Neustart=Soll ein anderer Markt angepingt werden? (y/n)
IF %Neustart%==y (
goto Start
)
IF %Neustart%==n (
goto Exit
)
:Exit
endlocal
exit
:Error1
echo Es konnte nicht ermittelt werden, was angepingt werden soll.
goto Auswahl
Vielen Dank im Voraus.
Mit freundlichen Grüßen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 329627
Url: https://administrator.de/forum/batch-kehrt-zur-sprungmarke-zurueck-obwohl-es-pingen-soll-329627.html
Ausgedruckt am: 15.05.2025 um 08:05 Uhr
2 Kommentare
Neuester Kommentar
Servus,
schau dir doch mal das hier an: Batch Anfänger Fragen zu setlocal, enabledelayedexpansion, set, for
schau dir doch mal das hier an: Batch Anfänger Fragen zu setlocal, enabledelayedexpansion, set, for