motorcross
Goto Top

Batch Zeichen in einer Variablen zählen

Hallo Administratoren,

ich bräuchte eure Hilfe zu einem Script was ich programmieren möchte:
Wie könnte ein Script aussehen, dass aus einer festgelegten Variablen die einzelnen Zeichen zählt und in eine neue Variable reinschreibt?
Es wäre sehr schön ein paar passende Beispielscripte zu sehen.
P.S. Der Beitrag Anzahl Zeichen einer Variable zählen war mir nicht sehr hilfreich.
MfG Motorcross

Content-ID: 165465

Url: https://administrator.de/contentid/165465

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

bastla
bastla 01.05.2011, aktualisiert am 18.10.2012 um 18:46:41 Uhr
Goto Top
Hallo Motorcross!

ZB so (hatte Biber seinerzeit schon gezeigt):
@echo off & setlocal
set "Variable=123456789012345"  

set T=%temp%\4L.tmp
>%T% echo %Variable%
for %%i in (%T%) do set /a LenVar=%%~zi-2
del %T%
echo %LenVar%
Andere Möglichkeit:
@echo off & setlocal
set "Variable=123456789012345"  

set /a LenVar=0
setlocal enabledelayedexpansion
:Loop
if "!Variable:~%LenVar%,1!"=="" goto :Done  
set /a LenVar+=1
goto :Loop

:Done
endlocal & set /a LenVar=%LenVar%
echo %LenVar%
Einen habe ich noch:
@echo off & setlocal
set "Variable=123456789012345"  

set /a LenVar=0
set "T=%Variable%"  
:Loop
if not defined T goto :Done
set /a LenVar+=1
set "T=%T:~,-1%"  
goto :Loop

:Done
echo %LenVar%
Grüße
bastla
Motorcross
Motorcross 01.05.2011 um 18:04:48 Uhr
Goto Top
Hallo bastla!
Es funktioniert nur, frage ich mich warum noch die Zahl 29 angezeigt wird:
set "Variable=%passwort%"  

set T=%temp%\4L.tmp
>%T% echo %Variable%
for %%i in (%T%) do set /a LenVar=%%~zi-2
del %T%
echo %lenvar%
In der Variablen %passwort% steht test drinne
Zuerst wird dann 4 und danach 29 angezeigt
Was mich sehr verwundert.
MfG Motorcross
bastla
bastla 01.05.2011 um 18:50:47 Uhr
Goto Top
Hallo Motorcross!
frage ich mich warum noch die Zahl 29 angezeigt wird:
Damit ist Dir etwas gelungen, was ich mit Deinem geposteten (BTW: dem "Code-Ende-Tag" fehlt noch ein "/") Schnipsel nicht schaffe - insofern vielleicht einmal den Rest (irgendwo muss %passwort% ja den Inhalt "test" bekommen) genauer anschauen ...

Grüße
bastla