77575
Jun 11, 2009, updated at 16:23:41 (UTC)
4856
3
0
Wort in txt finden und Zeile in andere txt schreiben
hallo,
gleich vorab, ja ich habe die suchfunktion und ich habe auch mid. 2 beiträge gefunden, die genau mein problem darstellen. aber die lösungen funktionieren nicht.
z. bsp. dieser beitrag: Mit Batch Suchbegriff in .txt finden und die nachfolgenden 8 Stellen auslesen und in neue Datei schreiben
nun zu meiner frage bzw. problem.
ich exportiere aus der registry einen key in eine textdatei. die txt sieht dann so aus:
usw
die Datei ist relativ groß.
jetzt möchte ich alle Einträge für ProductName in eine neue Textdatei schreiben.
D.h. dieser String kommt öfters vor. Optimal wäre es wenn man gleich das
in diesem Beispiel also
Probiert habe ich folgenden BatchCode
aber alles was in der MeineAusgabe.txt steht ist
Hoffe ein Batchspezi kann mir helfen.
gruss 01-01-01
gleich vorab, ja ich habe die suchfunktion und ich habe auch mid. 2 beiträge gefunden, die genau mein problem darstellen. aber die lösungen funktionieren nicht.
z. bsp. dieser beitrag: Mit Batch Suchbegriff in .txt finden und die nachfolgenden 8 Stellen auslesen und in neue Datei schreiben
nun zu meiner frage bzw. problem.
ich exportiere aus der registry einen key in eine textdatei. die txt sieht dann so aus:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\00002109010090400000000000F01FEC
ProductName REG_SZ Microsoft Software Update for Web Folders (English) 12
PackageCode REG_SZ B7B7E888CEAAC854EADD4FDFDB421F28
Language REG_DWORD 0x409
Version REG_DWORD 0xc001919
usw
die Datei ist relativ groß.
jetzt möchte ich alle Einträge für ProductName in eine neue Textdatei schreiben.
D.h. dieser String kommt öfters vor. Optimal wäre es wenn man gleich das
ProductName REG_SZ
löschen könnte und so nur der reine Wert von Produktname übrig bleibt.in diesem Beispiel also
Microsoft Software Update for Web Folders (English) 12
Probiert habe ich folgenden BatchCode
@echo off & setlocal
set Quelle="D:\test\regausgabe.txt"
set Ausgabe="D:\test\MeineAusgabe.txt"
for /f "tokens=2 delims=:" %%i in ('findstr "ProductName REG_SZ " %Quelle%') do set Wert=%%i
set SoftwareName=%Wert:~1,8%
echo %SoftwareName%>> %Ausgabe%
endlocal
aber alles was in der MeineAusgabe.txt steht ist
WINDOWS\
Hoffe ein Batchspezi kann mir helfen.
gruss 01-01-01
Please also mark the comments that contributed to the solution of the article
Content-Key: 118010
Url: https://administrator.de/contentid/118010
Printed on: April 26, 2024 at 11:04 o'clock
3 Comments
Latest comment
Hallo 01-01-01!
Freut mich, wenn's passt ...
Grüße
bastla
Freut mich, wenn's passt ...
auch wenn ich die tokens und delims nie verstehen werde
Standard-Delimiter sind Leerzeichen und TAB (daher muss hier auch gar kein spezielles Trennzeichen angegeben werden), und was die "tokens" angeht: bis 3 zählen kannst Du doch, und mehr passiert hier auch nicht :ProductName REG_SZ Microsoft Software Update for Web Folders (English) 12
^ Token 1 ^ ^ T2 ^ ^ Token * = alles nach 2 ohne weitere Unterteilung ^
^ignoriert^ ^%%i ^ ^ %%j ^
bastla