Wort in einzlene Variable zerlegen
Ich habe eine kurze Frage zur Zerlegung eines Wortes / Satzes in kleine Variablenstücke ohne ein bestimmtes Trennzeichen.
Hallo liebe Leute!
Also meine Frage ist:
Ist es möglich mit hilfe einer BATCH-Datei zum Beispiel das Wort "Hausmann" in die Variablen
a1=H
a2=a
a3=u
a4=s
a5=m
a6=a
a7=n
a8=n
Mit freundlichen Grüßen
Alexander
Also meine Frage ist:
Ist es möglich mit hilfe einer BATCH-Datei zum Beispiel das Wort "Hausmann" in die Variablen
a1=H
a2=a
a3=u
a4=s
a5=m
a6=a
a7=n
a8=n
Mit freundlichen Grüßen
Alexander
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-Key: 157581
Url: https://administrator.de/contentid/157581
Ausgedruckt am: 29.03.2024 um 02:03 Uhr
3 Kommentare
Neuester Kommentar
Hallo Daffman!
Ist es - allerdings stellt sich die Frage, was in weiterer Folge mit den Variablen passieren soll (da zumeist die unmittelbare Weiterverarbeitung innerhalb einer Schleife sinnvoller ist) ...
Ansonsten ginge das etwa so:
Grüße
bastla
Ist es - allerdings stellt sich die Frage, was in weiterer Folge mit den Variablen passieren soll (da zumeist die unmittelbare Weiterverarbeitung innerhalb einer Schleife sinnvoller ist) ...
Ansonsten ginge das etwa so:
@echo off & setlocal
set "Wort=Hausmann"
set /a Index=0
:Loop
call set "Zeichen=%%Wort:~%Index%,1%%"
if "%Zeichen%"=="" goto :Done
set /a Index+=1
set "a%Index%=%Zeichen%"
goto :Loop
:Done
echo %Index%
set a
bastla
Hallo Daffman!
Grüße
bastla
P.S.: Batch ist nicht sonderlich gut für die Stringverarbeitung geeignet - zB VBS würde sich viel eher dafür anbieten ...
in andere Zeichenkombinationen umwandeln, dass zb dass das M ein C wird
Das könnte dann nach dem folgenden Schema (die Zuordnungstabelle ist derzeit auf die tatsächlich verwendeten Zeichen beschränkt) ablaufen:@echo off & setlocal
set "Wort=Hausmann"
REM H=B
REM a=l
REM u=a
REM s=t
REM m=k
REM n=e
REM usw.
set /a Index=0
set "Neu="
:Loop
call set "Zeichen=%%Wort:~%Index%,1%%"
if "%Zeichen%"=="" goto :Done
for /f "tokens=3 delims== " %%i in ('findstr /b /c:"REM %Zeichen%" "%~f0"') do set "Neu=%Neu%%%i"
set /a Index+=1
goto :Loop
:Done
echo %Wort% -^> %Neu%
bastla
P.S.: Batch ist nicht sonderlich gut für die Stringverarbeitung geeignet - zB VBS würde sich viel eher dafür anbieten ...