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

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

Printed on: April 26, 2024 at 21:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Jul 02, 2012 updated at 12:34:31 (UTC)
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
Member: snowdream
snowdream Jul 02, 2012 at 12:53:40 (UTC)
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