scripting und usereingaben ueberpruefen
Hallo Leute
ich such eine Loesung um die eingabe eines users zu ueberpruefen.
ich arbeite in einem Team. leider arbeiten hier auch Monkeys. Um die Fehler
Quote so gering wie moeglich zu halten habe ich ein Script geschrieben.
Dieses Script ist menu gesteuert und erledigt alles selbst.
das einzige was der User eingeben muss ist das Subnet - 10.10.10. wie kann
ich die usereingabe ueberpruefen (es sollen nur 3 der vier bloecke einer ip adresse eingegeben werden - also die ersten 3)
der erste block ist immer eine 10 dann ein Punkt dann werte zwischen 1-255
dann nochamls ein Punkt dann wieder ein wert zwischen 1-255. es sollen nur 3
Blocks eingegeben werden wie in dem oberen beispiel
wie kann ich das realisieren. in Google finde ich nichts dazu. normalerweise
wuerde ich sagen die einfachste loesung waehre - diese Monkeys zu feuern.
Greetings
juergen
ich such eine Loesung um die eingabe eines users zu ueberpruefen.
ich arbeite in einem Team. leider arbeiten hier auch Monkeys. Um die Fehler
Quote so gering wie moeglich zu halten habe ich ein Script geschrieben.
Dieses Script ist menu gesteuert und erledigt alles selbst.
das einzige was der User eingeben muss ist das Subnet - 10.10.10. wie kann
ich die usereingabe ueberpruefen (es sollen nur 3 der vier bloecke einer ip adresse eingegeben werden - also die ersten 3)
der erste block ist immer eine 10 dann ein Punkt dann werte zwischen 1-255
dann nochamls ein Punkt dann wieder ein wert zwischen 1-255. es sollen nur 3
Blocks eingegeben werden wie in dem oberen beispiel
wie kann ich das realisieren. in Google finde ich nichts dazu. normalerweise
wuerde ich sagen die einfachste loesung waehre - diese Monkeys zu feuern.
Greetings
juergen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 78009
Url: https://administrator.de/forum/scripting-und-usereingaben-ueberpruefen-78009.html
Ausgedruckt am: 27.04.2025 um 02:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo Pille69!
Wenn der erste Block ohnehin immer 10 sein soll, warum dann noch eingeben lassen?
Schematisch könnte das etwa so aussehen (wobei ich bei der Textierung noch Raum für Verbesserungen gelassen habe
):
Bei nur zwei einzugebenden Werten lohnt es sich auch nicht wirklich, das Überprüfen in einer Schleife vorzunehmen ...
Grüße
bastla
Wenn der erste Block ohnehin immer 10 sein soll, warum dann noch eingeben lassen?
Schematisch könnte das etwa so aussehen (wobei ich bei der Textierung noch Raum für Verbesserungen gelassen habe
@echo off & setlocal
set /a Block1=10
:: Bei Bedarf genaue Erkl„rung der erforderlichen Eingabe
:loop
set OK=
set /p "SubnetIn=Bitte die n„chsten beiden Bl”cke (durch Punkt getrennt) eingeben: %Block1%."
if "%SubnetIn%"=="" goto :Cancel
for /f "tokens=1,2 delims=." %%a in ("%SubnetIn%") do call :CheckInput "%%a" "%%b"
if not defined OK echo Eingabe fehlerhaft - bitte neu eingeben! & echo. & goto :loop
set Subnet=%Block1%.%Block2%.%Block3%
echo.
echo.
echo Eingegebenes Subnet: %Subnet%
:: Was sonst noch
:: so anliegt ...
goto :eof
:CheckInput
if "%~2"=="" goto :eof
set /a Block2=%~1 2>nul
if %Block2% lss 1 goto :eof
if %Block2% gtr 255 goto :eof
set /a Block3=%~2 2>nul
if %Block3% lss 1 goto :eof
if %Block3% gtr 255 goto :eof
:: erst hier ist alles OK
set OK=True
goto :eof
:Cancel
cls
echo Na dann eben nicht ...
goto :eof
Grüße
bastla