manuel-r
Goto Top

Batch - Variable in zwei Teile (rechts bzw. links) eines Trennzeichens zerlegen

Hallo alle zusammen,
ich stehe gerade auf Kriegsfuß mit der Zerlegung einer Variable in zwei Teile. Das hab' ich leider noch nie so richtig geblickt face-sad
Also gegeben ist eine Variable %variable% deren Inhalt die verschiedensten Formen haben kann:
  • teil1_teil2
  • teil1_teil2 teil3 teil4
  • teil1_teil2_teil3_teil4_teil5
  • usw.
Ich brauche jetzt die eine richtige Batchzeile die mir in %variable1% alles links vom ersten '_' liefert und in %variable2% alles rechts davon. Und zwar dummerweise unabhängig davon ob im rechten Teil noch mehr '_' auftauchen.
Mein Dank geht schon mal im Voraus an unsere Batch-Götter.

Manuel

Content-ID: 91148

Url: https://administrator.de/forum/batch-variable-in-zwei-teile-rechts-bzw-links-eines-trennzeichens-zerlegen-91148.html

Ausgedruckt am: 04.04.2025 um 08:04 Uhr

Biber
Biber 02.07.2008 um 17:57:37 Uhr
Goto Top
Moin manuel-r,

das ginge so (Demo am CMD-Prompt; die ">" nicht mit eingeben):
set "var=teil1_teil2_teil3_teil4_teil5"  
>for /f "delims=_ tokens=1*" %i in ("%var%") do @echo Links[%i] Rest[%j]  
Links[teil1] Rest[teil2_teil3_teil4_teil5]
Im Batch wäre die Mimik identisch:
...
set "var=teil1_teil2_teil3_teil4_teil5"  
:: ... wo auch immer diese %Var% gesetzt wird...

for /f "delims=_ tokens=1*" %%i in ("%var%") do (  
      Set "varLinks=%%i"  
      Set "varRest=%%j"  
)
Echo VarLinks [%varlinks%] VarRest[%varRest%]

Grüße
Biber
manuel-r
manuel-r 03.07.2008 um 09:26:46 Uhr
Goto Top
Danke Biber,
ich wusste doch, dass aus deiner Ecke was vernünftiges kommt.

Manuel