snowdream
Goto Top

Text in Gänsefüßchen in Variable schreiben

Hallo zusammen, ich hoffe ihr könnt mir wieder mal auf die Sprünge helfen.

Ich möchte in einer Datei nach einem bestimmten Wort suchen und alles was in dieser gefundenen Zeile in Anführungszeichen steht, in eine Variable schreiben und später weiterverarbeiten.

Dateiausschnitt;
Suchstring_blabla="String_1 String_2 String_3 String_4" ;weitere Zeichen/Zeichenketten

set "Suchen=Suchstring"  
set "Datei=C:\in.txt"   

for /f "tokens=2" %%i in ('find /i "%Suchen%" %DATEI%') do set Wert=%%i  

ECHO %WERT%
Pause

Ausgabe mit "Tokens=1":
Suchstring_blabla="String_1 String_2 String_3 String_4" ;weitere Zeichen/Zeichenketten

Ausgabe mit "Tokens=2":
String_2

Ich möchte aber den kompletten String innerhalb der Gänsefüßchen in die Variable schreiben. Ist das möglich?

Gruß
snowdream

Content-ID: 187336

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

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

pieh-ejdsch
pieh-ejdsch 02.07.2012 aktualisiert um 14:34:31 Uhr
Goto Top
moin snowdream,

über eine Forschleife (hier erklärt) verwende das zweite Token und Gänsefüsschen als Delimiter. Ist ja der Wert nach dem Ersten Gänsefüsschen.
set "Suchen=Suchstring"  
set "Datei=C:\in.txt"   

for /f tokens^=2delims^=^" %%i in ('find /i "%Suchen%" "%DATEI%"') do set Wert=%%i  

ECHO %WERT%
Pause

Herkömmlich ginge es auch so:
set "Suchen=Suchstring"  
set "Datei=C:\in.txt"   
set T="%temp%\Gefunden.txt"  

find /i "%Suchen%" "%DATEI%" 1>%T% && <%T% set /p wert=  
set "wert=%wert%  
set "wert=%wert:*"=%"  
ECHO %WERT%
Pause

Gruß Phil
snowdream
snowdream 02.07.2012 um 14:53:40 Uhr
Goto Top
Hallo Phil,
die erste Variante funktioniert perfekt!
Ich wusste nicht, wie ich den Delimiter verknüpfen soll. Danke für die schnelle Hilfe.

Gruß
snowdream