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-Key: 165465

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

Printed on: April 24, 2024 at 19:04 o'clock

Member: bastla
bastla May 01, 2011, updated at Oct 18, 2012 at 16:46:41 (UTC)
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
Member: Motorcross
Motorcross May 01, 2011 at 16:04:48 (UTC)
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
Member: bastla
bastla May 01, 2011 at 16:50:47 (UTC)
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