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, 1656 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
Windows 10
Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux (11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

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 ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (3)

Frage von Zendara zum Thema Batch & Shell ...

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

Frage von Flodsche zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (17)

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

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...