Dword Wert per Bat aus Registry lesen
Hallo,
Ich möchte mit einer Bat-Datei einige Registry Werte auslesen und in eine Datei schreiben.
Hierzu habe ich bisher diesen Code benutzt:
Für einen Reg_SZ eintrag funktioniert dies auch ganz gut.
der zweite schlüssel der nun aber gelesen werden soll ist ein reg_dword schlüssel (hex)
wenn ich nun meine bat-datei wie folgend verändere erhalte ich leider nicht den gewünschten wert
Wie kann ich das Problem lösen?
Ich möchte mit einer Bat-Datei einige Registry Werte auslesen und in eine Datei schreiben.
Hierzu habe ich bisher diesen Code benutzt:
@echo off & Setlocal
FOR /F "tokens=3*" %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Alcatel\4902\AOCDial\Preference" /v "Preferred Line"')
DO SET Pfad1=%%B
echo %Pfad1% > "C:\Program Files\Alcatel_PIMphony\telefontool.ini"
Für einen Reg_SZ eintrag funktioniert dies auch ganz gut.
der zweite schlüssel der nun aber gelesen werden soll ist ein reg_dword schlüssel (hex)
wenn ich nun meine bat-datei wie folgend verändere erhalte ich leider nicht den gewünschten wert
@echo Setlocal
FOR /F "tokens=3*" %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Alcatel\4902\AOCDial\Preference" /v "Preferred Line"')
DO SET Pfad1=%%B
echo %Pfad1% > "C:\Program Files\Alcatel_PIMphony\telefontool.ini"
FOR /F "tokens=3*" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations"
/v "CurrentID"') DO SET Pfad1=%%B
echo %Pfad1% >> "C:\Program Files\Alcatel_PIMphony\telefontool.ini"
pause
Wie kann ich das Problem lösen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 71817
Url: https://administrator.de/contentid/71817
Ausgedruckt am: 16.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo ReiniX!
Soferne ich Dich richtig verstehe, stört Dich nur das Format des ausgelesenen Wertes (also "0x31" anstatt "49") - falls ja, versuch es so:
Für die Konvertierung des Hexwertes wird ein temporäres VBScript verwendet.
Grüße
bastla
Soferne ich Dich richtig verstehe, stört Dich nur das Format des ausgelesenen Wertes (also "0x31" anstatt "49") - falls ja, versuch es so:
@echo off & setlocal
set "Hex2Dez=%temp%\H2D.vbs"
echo WScript.Echo CLng("&H" ^& Mid(WScript.Arguments(0),3))>"%Hex2Dez%"
FOR /F "tokens=3*" %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Alcatel\4902\AOCDial\Preference" /v "Preferred Line"') DO SET Pfad1=%%B
echo %Pfad1% > "C:\Program Files\Alcatel_PIMphony\telefontool.ini"
for /f "skip=3 tokens=3*" %%v in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations" /v "Country"') do for /f %%d in ('cscript //nologo "%Hex2Dez%" %%v') do set Pfad1=%%d
echo %Pfad1% >> "C:\Program Files\Alcatel_PIMphony\telefontool.ini"
for /f "skip=3 tokens=3*" %%v in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations" /v "AreaCode"') do for /f %%d in ('cscript //nologo "%Hex2Dez%" %%v') do set Pfad1=0%%d
echo %Pfad1% >> "C:\Program Files\Alcatel_PIMphony\telefontool.ini"
del "%Hex2Dez%"
Grüße
bastla