Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Wort in txt finden und Zeile in andere txt schreiben

Frage Entwicklung Batch & Shell

Mitglied: 77575

77575 (Level 1)

11.06.2009, aktualisiert 18:23 Uhr, 4238 Aufrufe, 3 Kommentare

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: http://www.administrator.de/index.php?content=117014

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
01.
@echo off & setlocal 
02.
 
03.
set Quelle="D:\test\regausgabe.txt" 
04.
set Ausgabe="D:\test\MeineAusgabe.txt" 
05.
for /f "tokens=2 delims=:" %%i in ('findstr "ProductName	REG_SZ	" %Quelle%') do set Wert=%%i 
06.
set SoftwareName=%Wert:~1,8% 
07.
 
08.
echo %SoftwareName%>> %Ausgabe%  
09.
endlocal
aber alles was in der MeineAusgabe.txt steht ist WINDOWS\

Hoffe ein Batchspezi kann mir helfen.

gruss 01-01-01
Mitglied: bastla
11.06.2009 um 19:41 Uhr
Hallo 01-01-01!

Versuch's so:
01.
@echo off & setlocal 
02.
 
03.
set Quelle="D:\test\regausgabe.txt" 
04.
set Ausgabe="D:\test\MeineAusgabe.txt" 
05.
for /f "tokens=2*" %%i in ('findstr /c:"ProductName    REG_SZ" %Quelle%') do >>%Ausgabe% echo %%j
Grüße
bastla
Bitte warten ..
Mitglied: 77575
11.06.2009 um 20:29 Uhr
hi bastla,

super, vielen dank.
auch wenn ich die tokens und delims nie verstehen werde

hier das komplette test script, falls mal jemand vor dem selben problem steht.

01.
@echo off & setlocal 
02.
 
03.
set tmpFile="%temp%\uninst.tmp" 
04.
set Ausgabe="%temp%\software.txt" 
05.
reg query  HKLM\SOFTWARE\Classes\Installer\Products /s >%tmpFile% 
06.
 
07.
for /f "tokens=2*" %%i in ('findstr /c:"ProductName	REG_SZ	" %tmpFile%') do >>%Ausgabe% echo %%j 
08.
 
09.
:: aufräumen 
10.
del /Q %tmpFile% 
11.
set tmpFile= 
12.
set Ausgabe= 
13.
 
14.
:: schau 'ma mal was das ergebnis is 
15.
start notepad.exe %Ausgabe%
Bitte warten ..
Mitglied: bastla
11.06.2009 um 20:47 Uhr
Hallo 01-01-01!

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                                                ^
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Per Batch in ausgewählte oder vorgeschriebene Zeile einer .txt schreiben (6)

Frage von pdiddo zum Thema Batch & Shell ...

Ubuntu
gelöst Regex - zusammengefasste Wörter finden und korrekt trennen??? (6)

Frage von takitano zum Thema Ubuntu ...

Batch & Shell
gelöst Erstellungsdatum vor jede Zeile einer Textdatei schreiben (5)

Frage von freakonaleash zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Neue Wissensbeiträge
Entwicklung

Exploit Development

Anleitung von burhanudinn123 zum Thema Entwicklung ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(1)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
Leiten "dumme" Switches VLAN-Tags mit durch? (17)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...