Input muss mindestens 8 Zeichen lang sein, wie schreibe ich die if Bedingung
Hallo,
ich bin ein purer Neuling aber möchte was komplexes machen. Ich möchte ein Befehl machen, der den %input% überprüft auf die Länge. Es handelt sich um ein WLAN Passwort. Es muss min. 8 Buchstaben lang sein.Hier das volle Skript Hier ist der Teilcode :
Wenn der %input% GEQ 8 ist dann muss
geschehen.
Sonst
Ich bin euch sehr dankbar, bitte erklärt auch, was ihr schreibt. Ich lerne ja ;)
MFG,
Max
ich bin ein purer Neuling aber möchte was komplexes machen. Ich möchte ein Befehl machen, der den %input% überprüft auf die Länge. Es handelt sich um ein WLAN Passwort. Es muss min. 8 Buchstaben lang sein.Hier das volle Skript Hier ist der Teilcode :
:password1
cls
set/p input=Neues Passwort (min. 8 Buchstaben):
REM Hier muss der Befehl hin !
@echo off
netsh wlan set hostednetwork mode=allow
netsh wlan set hostednetwork keyUsage=persistent
netsh wlan set hostednetwork key=%input%
cls
echo Passwort erfolgreich geändert !
timeout /t 3
goto config1
Wenn der %input% GEQ 8 ist dann muss
echo Passwort erfolgreich geändert !
geschehen.
Sonst
echo Passwort muss mindestens 8 Zeichen lang sein !
Ich bin euch sehr dankbar, bitte erklärt auch, was ihr schreibt. Ich lerne ja ;)
MFG,
Max
Please also mark the comments that contributed to the solution of the article
Content-ID: 306315
Url: https://administrator.de/forum/input-muss-mindestens-8-zeichen-lang-sein-wie-schreibe-ich-die-if-bedingung-306315.html
Printed on: May 11, 2025 at 15:05 o'clock
3 Comments
Latest comment
Moin,
das ist in Batch ziemlich umständlich :/
Hier ein paar externe Beispiele:
http://www.dostips.com/?t=Function.strLen
https://stackoverflow.com/questions/5837418/how-do-you-get-the-string-le ...
https://stackoverflow.com/questions/12731477/how-to-check-if-a-string-ha ...
Gerade der letzte Beitrag ist eigentlich einfach gehalten und hoffentlich zielführend.
Kleiner Tipp: Auf Powershell ist es wesentlich einfacher :x
Edit: Wie wäre es mit einem ziemlich hässlichen, aber funktionierenden Einzeiler?
Gruß
Chris
das ist in Batch ziemlich umständlich :/
Hier ein paar externe Beispiele:
http://www.dostips.com/?t=Function.strLen
https://stackoverflow.com/questions/5837418/how-do-you-get-the-string-le ...
https://stackoverflow.com/questions/12731477/how-to-check-if-a-string-ha ...
Gerade der letzte Beitrag ist eigentlich einfach gehalten und hoffentlich zielführend.
Kleiner Tipp: Auf Powershell ist es wesentlich einfacher :x
Edit: Wie wäre es mit einem ziemlich hässlichen, aber funktionierenden Einzeiler?
for /f %%i in ('powershell return \"test\".length') do set testlength=%%i
Gruß
Chris

@echo off & setlocal enabledelayedexpansion
:password1
cls
set /p input=Neues Passwort [min. 8 Buchstaben]:
REM Länge der Variablen ermitteln
call :strLength strLen "%input%"
cls
REM Länge prüfen
if !strLen! GEQ 8 (
netsh wlan set hostednetwork mode=allow
netsh wlan set hostednetwork keyUsage=persistent
netsh wlan set hostednetwork key=%input%
echo Passwort erfolgreich geändert !
timeout /t 3
goto config1
) else (
echo Passwort muss mindestens 8 Zeichen lang sein.
timeout /t 3
goto password1
)
goto :eof
REM Makro zum ermitteln der Länge einer Variablen
:strLength
set "#=%~2"
set length=0
:stringLengthLoop
if defined # (set #=%#:~1%&set /A length += 1&goto stringLengthLoop)
set "%~1=%length%"
goto :eof