Bestimmte Registry Einträge mit Batch auslesen
Hallo,
meine Batch datei sieht im Moment so aus:
@echo off
reg query "HKEY_CURRENT_USER\Software\GL\Ordner1\DB">Log\1.log
reg query "HKEY_CURRENT_USER\Software\GL\Ordner1\ODBC">Log\1.log
reg query "HKEY_CURRENT_USER\Software\GL\Ordner1\Ole DB">Log\1.log
copy Log\*.log /b alllogfiles.txt
pause
In der alllogfiles.txt steht dann folgendes:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\GL\Ordner1\DB
DB REG_SZ 1
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\GL\Ordner1\ODBC
InitStringORA REG_SZ ODBC;DSN=test2;UID=test3
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\GL\Ordner1\Ole DB
InitStringORA REG_SZ Provider=MSDAORA.1;User ID=test3;Data Source=test
Nun meine Frage ist es möglich es so einzugrenzen das da nur so steht:
1
test
test2
test3
Also im Endeffekt Werte von:
DB REG_SZ 1 (nur die 1)
InitStringORA REG_SZ ODBC;DSN=test2;UID=test3 (test2 von DSN und dann test 3 von UID in neue Zeile)
InitStringORA REG_SZ Provider=MSDAORA.1;User ID=test3;Data Source=test (test von Data Source)
Dabei bleibt Registry Pfad immer gleich nur die Werte bei DB, DSN,UID und Data Source können sich ändern.
Gibt es da via Batch-Datei eine Möglichkeit ?
MfG
MTB
meine Batch datei sieht im Moment so aus:
@echo off
reg query "HKEY_CURRENT_USER\Software\GL\Ordner1\DB">Log\1.log
reg query "HKEY_CURRENT_USER\Software\GL\Ordner1\ODBC">Log\1.log
reg query "HKEY_CURRENT_USER\Software\GL\Ordner1\Ole DB">Log\1.log
copy Log\*.log /b alllogfiles.txt
pause
In der alllogfiles.txt steht dann folgendes:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\GL\Ordner1\DB
DB REG_SZ 1
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\GL\Ordner1\ODBC
InitStringORA REG_SZ ODBC;DSN=test2;UID=test3
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\GL\Ordner1\Ole DB
InitStringORA REG_SZ Provider=MSDAORA.1;User ID=test3;Data Source=test
Nun meine Frage ist es möglich es so einzugrenzen das da nur so steht:
1
test
test2
test3
Also im Endeffekt Werte von:
DB REG_SZ 1 (nur die 1)
InitStringORA REG_SZ ODBC;DSN=test2;UID=test3 (test2 von DSN und dann test 3 von UID in neue Zeile)
InitStringORA REG_SZ Provider=MSDAORA.1;User ID=test3;Data Source=test (test von Data Source)
Dabei bleibt Registry Pfad immer gleich nur die Werte bei DB, DSN,UID und Data Source können sich ändern.
Gibt es da via Batch-Datei eine Möglichkeit ?
MfG
MTB
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 77399
Url: https://administrator.de/contentid/77399
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
3 Kommentare
Neuester Kommentar
Hi MTB,
ich bin eine ziemliche Niete in Sachen Batch :/ aber bei so einer filterung bin ich immer mit findstr /I sehr gut zurecht gekommen. Bei dir wuerde ich das so anwenden:
Mit freundlichen Gruessen
-- Johannes Matjeschk
ich bin eine ziemliche Niete in Sachen Batch :/ aber bei so einer filterung bin ich immer mit findstr /I sehr gut zurecht gekommen. Bei dir wuerde ich das so anwenden:
reg query "HKEY_CURRENT_USER\Software\GL\Ordner1\DB" | findstr /I REG_SZ >Log\1.log
Mit freundlichen Gruessen
-- Johannes Matjeschk
Hallo MTB4ever!
Soferne die Struktur der Regkeys immer gleich bleibt, könnte folgender Batch (ist allerdings ungetestet) funktionieren:
Grüße
bastla
Soferne die Struktur der Regkeys immer gleich bleibt, könnte folgender Batch (ist allerdings ungetestet) funktionieren:
@echo off & setlocal
set "OutFile=D:\Data.txt"
set "R=HKEY_CURRENT_USER\Software\GL\Ordner1"
for /f "tokens=3" %%i in ('reg query "%R%\DB"^|findstr "REG_SZ"') do echo %%i>"%OutFile%"
for /f "tokens=2 delims=;" %%i in ('reg query "%R%\ODBC"^|findstr "REG_SZ"') do for /f "tokens=2 delims==" %%a in ("%%i") do echo %%a>>"%OutFile%"
for /f "tokens=3 delims=;" %%i in ('reg query "%R%\ODBC"^|findstr "REG_SZ"') do for /f "tokens=2 delims==" %%a in ("%%i") do echo %%a>>"%OutFile%"
for /f "tokens=3 delims=;" %%i in ('reg query "%R%\Ole DB"^|findstr "REG_SZ"') do for /f "tokens=2 delims==" %%a in ("%%i") do echo %%a>>"%OutFile%"
Grüße
bastla