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

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, 1638 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Speicherkarten
gelöst Unbekannten Speicher auslesen (13)

Frage von vGaven zum Thema Speicherkarten ...

Windows Server
Windows Server 2012 R2 Key auslesen (7)

Frage von itisnapanto zum Thema Windows Server ...

Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

Outlook & Mail
gelöst PS-Skript zum Auslesen von Informationen (8)

Frage von 112Timo zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...