traktorist
Goto Top

Batch, String bis Zeichen kopieren

Hallo,

ich suche eine Möglichkeit im in einem Batch-Datei alle Zeichen einer Zeichenkette bis zu einem bestimmten Zeichen in eine Variable zu kopieren.

D.h. ich möchte aus 12345#67890 alle Zeichen bis zum # kopieren. Dabei ist die Anzahl der Zeichen vor dem # variabel. Es könnte also auch sein 123456789#012345 oder abcdefgh#ijkl usw. usf. sein.

Ich wäre für einen Tipp recht dankbar.
Viele Grüße Traktorist

Content-Key: 114528

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

Printed on: April 25, 2024 at 23:04 o'clock

Member: bastla
bastla Apr 23, 2009 at 13:58:33 (UTC)
Goto Top
Hallo Traktorist und willkommen im Forum!

Derartiges lässt sich am Besten per "for /f"-Schleife erledigen:
@echo off & setlocal
set "String=12345#67890"  
set "Delimiter=#"  

for /f "delims=%Delimiter%" %%i in ("%String%") do set "Part=%%i"  
echo %Part%
Grüße
bastla
Mitglied: 77559
77559 Apr 23, 2009 at 14:13:39 (UTC)
Goto Top
Hallo Traktorist,

hier noch eine andere, etwas verdrehte Methode das gleiche zu erreichen.

@echo off & setlocal
set "String=12345#67890"  
set "StringHinten=%String:*#=%"  
call set "StringVorne=%%String:#%StringHinten%=%%"  
set String

Gruß
Lotpings
Member: Traktorist
Traktorist Apr 23, 2009 at 14:15:55 (UTC)
Goto Top
Hallo Ihr Zwei,

danke für die schnellen Antworten, werde damit mal rumspielen.

Viele Grüße Traktorist
Member: Traktorist
Traktorist Apr 23, 2009 at 14:30:48 (UTC)
Goto Top
So, habe just bei de Varianten mal ausprobiert, funktionieren beide face-smile

In meinem Batch passt die von Lotpings dieses Mal besser.

Noch mal Danke,
Gruß Taktorist