traktorist

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 114528

Url: https://administrator.de/forum/batch-string-bis-zeichen-kopieren-114528.html

Ausgedruckt am: 28.04.2025 um 10:04 Uhr

bastla
bastla 23.04.2009 um 15:58:33 Uhr
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
77559
77559 23.04.2009 um 16:13:39 Uhr
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
Traktorist
Traktorist 23.04.2009 um 16:15:55 Uhr
Goto Top
Hallo Ihr Zwei,

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

Viele Grüße Traktorist
Traktorist
Traktorist 23.04.2009 um 16:30:48 Uhr
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