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, 1652 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
Speicherkarten
gelöst Unbekannten Speicher auslesen (13)

Frage von vGaven zum Thema Speicherkarten ...

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 (1)

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
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...

Windows Server
Benutzer lässt sich nur an einem Clientcomputer anmelden (8)

Frage von Ammann zum Thema Windows Server ...

Microsoft Office
gelöst Excel Dateien durchsuchen und Teile extrahieren (7)

Frage von Beranavan zum Thema Microsoft Office ...