Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Via BAT in Registry unbekannten Key auslesen und Informationen weiter verwerten

Frage Microsoft

Mitglied: mein.wunschname.hier

mein.wunschname.hier (Level 1) - Jetzt verbinden

16.04.2013, aktualisiert 14:02 Uhr, 1662 Aufrufe, 1 Kommentar

Hallo Community,

meine Anforderung ist wie folgt:

In der Windows Registrierung gibt es in HKLM\Software\Microsoft\Windows\CurrentVersion\Testkey\ mehrere, mir unbekannte und von Computer zu Computer verschiedene, Subkeys, z.B.
HKLM\Software\Microsoft\Windows\CurrentVersion\Testkey\123456\Hallo\
HKLM\Software\Microsoft\Windows\CurrentVersion\Testkey\asdfgh\Hallo\
HKLM\Software\Microsoft\Windows\CurrentVersion\Testkey\abcdef\Hallo\

In jedem dieser Subkeys\Hallo\ gibt es einen String (String1) nach dem ich suchen möchte. Wenn der von mir gesetzte String existiert, z.B. HKLM\Software\Microsoft\Windows\CurrentVersion\Testkey\asdfgh\Hallo\ - dann soll bitte weiterhin in diesem Zweig ein weiterer String ausgelesen (String2) werden und die Information daraus via echo ausgegeben werden.

Mein Ansatz bisher:

@echo off
Set Testkey=Version
FOR /f "tokens=*" %%i IN ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey') DO (
reg query "%%i"\Hallo /v String1 | find /i /c "%Testkey%")

Das Auslesen der verfügbaren Keys und das Suchen nach der Zeichenfolge funktioniert, aber wie kann ich jetzt dort, wo der String1 = test ist, einen weiteren String (String2) auslesen?


Vielen Dank für eure Vorschläge und viele Grüße!
Mitglied: colinardo
20.04.2013, aktualisiert um 11:24 Uhr
Hi mein.wunsch...,

damit sollte es nach deinem Muster gehen:
Die Namen der Werte musst du noch in Zeile 1 und 2 eintragen, den RootKey ab dem du suchen möchtest in Zeile 3 und den Keynamen der jeweils in den Subkeys existieren soll in Zeile 4.

01.
@echo off & setlocal ENABLEDELAYEDEXPANSION 
02.
set VALUENAME1=String1 
03.
set VALUENAME2=String2 
04.
set ROOTKEY=HKCU\Software\Uwe 
05.
set SUCHKEY=Hallo 
06.
 
07.
for /f "tokens=*" %%i IN ('reg query "%ROOTKEY%" /s /f "%SUCHKEY%"') DO @( 
08.
	set "KEYNAME=%%i" 
09.
	if "!KEYNAME:~0,4!" == "HKEY" ( 
10.
		echo Key gefunden : !KEYNAME! 
11.
		reg query "!KEYNAME!" /v "!VALUENAME1!" 2>&1 | find /i /c "!VALUENAME1!" >"!temp!\found" 
12.
		set /p success=<"!temp!\found" 
13.
		if !success! == 1 ( 
14.
			for /f "tokens=3,*" %%g IN ('reg query "!KEYNAME!" /v "!VALUENAME1!" ^| findstr /i "!VALUENAME1!"') DO SET String1=%%g %%h 
15.
			echo String 1 = !String1!	 
16.
17.
		reg query "!KEYNAME!" /v "!VALUENAME2!" 2>&1 | find /i /c "!VALUENAME2!" >"!temp!\found" 
18.
		set /p success=<"!temp!\found" 
19.
		if !success! == 1 ( 
20.
			for /f "tokens=3,*" %%g IN ('reg query "!KEYNAME!" /v "!VALUENAME2!" ^| findstr /i "!VALUENAME2!"') DO SET String2=%%g %%h 
21.
			echo String 2 = !String2! 
22.
23.
		 
24.
25.
	 
26.
27.
del /q %temp%\found
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Festplatten, SSD, Raid
gelöst Windows 7 Pro x64 Key aus einer (fast) kaputten HDD auslesen (7)

Frage von carbon1X zum Thema Festplatten, SSD, Raid ...

Windows Server
gelöst Lizenz bzw. Product key auslesen W2K8 R2 (8)

Frage von hesper zum Thema Windows Server ...

Batch & Shell
gelöst Batch Registry auslesen - anpassen (5)

Frage von pi0h.kk zum Thema Batch & Shell ...

Neue Wissensbeiträge
Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(1)

Information von DerWoWusste zum Thema Microsoft ...

Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(5)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (15)

Frage von Lynkon zum Thema TK-Netze & Geräte ...