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

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

Printed on: June 22, 2024 at 23:06 o'clock

Member: Biber
Biber Jul 02, 2008 at 15:57:37 (UTC)
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
Member: manuel-r
manuel-r Jul 03, 2008 at 07:26:46 (UTC)
Goto Top
Danke Biber,
ich wusste doch, dass aus deiner Ecke was vernünftiges kommt.

Manuel