PDA

Vollständige Version anzeigen : Mit dem Tool Reg.exe einen D_WORD-Wert in Dezimal schreiben


Stefan Brand
December 15th 04, 11:59 AM
Hallo,

ich möchte unter WinXP-SP2 das Tool reg.exe etwas besser nutzen.

Wir bringe ich dieses Tool dazu, dass er mir einen D_WORD-Wert in Dezimal
schreibt. Wenn ich den Befehl:

C:\WINDOWS\system32\reg.exe add
"HKLM\SYSTEM\RAdmin\v2.0\Server\Users\Administrator en" /v "Rechte" /t
REG_DWORD /d "00000031" /f

eingebe wird mir unter dem richtigen SchlĂĽssel ein Wert in Hexadezimal
geschrieben.

Wo mache ich den Fehler?

Danke im Voraus.

Matthias Tacke
December 15th 04, 12:38 PM
Stefan Brand wrote:
> Hallo,
>
> ich möchte unter WinXP-SP2 das Tool reg.exe etwas besser nutzen.
>
> Wir bringe ich dieses Tool dazu, dass er mir einen D_WORD-Wert in Dezimal
> schreibt. Wenn ich den Befehl:
>
> C:\WINDOWS\system32\reg.exe add
> "HKLM\SYSTEM\RAdmin\v2.0\Server\Users\Administrator en" /v "Rechte" /t
> REG_DWORD /d "00000031" /f
>
> eingebe wird mir unter dem richtigen SchlĂĽssel ein Wert in Hexadezimal
> geschrieben.
>
> Wo mache ich den Fehler?
>
Durch die fĂĽhrende 0 werden oktale Werte angenommen.
Oktal 31 = 3*8+1= 25 dez = 0x19 hex

reg add "hkcu\software\MyTest" /v TestWert /t REG_DWORD /d 31
reg add "hkcu\software\MyTest" /v TestWert2 /t REG_DWORD /d "31"
reg add "hkcu\software\MyTest" /v TestWert3 /t REG_DWORD /d "031"
reg add "hkcu\software\MyTest" /v TestWert4 /t REG_DWORD /d 0x31

Der Vorgang wurde erfolgreich ausgefĂĽhrt.

C:\test>reg query "hkcu\software\MyTest"

! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\software\MyTest
TestWert REG_DWORD 0x1f
TestWert2 REG_DWORD 0x1f
TestWert3 REG_DWORD 0x19
TestWert4 REG_DWORD 0x31

C:\test>

HTH

--
Gruesse Greetings Saludos Saluti Salutations
Matthias
---------+---------+---------+---------+---------+---------+---------+

Stefan Brand
December 16th 04, 12:25 PM
Hallo Matthias,

zunächst möchte ich mich für Deine schnelle Antwort bedanken.

Dies hat mir sehr geholfen.

Wieso schreibt man so etwas nicht einfach in die Hilfe (reg add /?)?

MFG

Matthias Tacke
December 16th 04, 02:34 PM
Stefan Brand wrote:
> Hallo Matthias,
> zunächst möchte ich mich für Deine schnelle Antwort bedanken.
> Dies hat mir sehr geholfen.

Freut mich, gern geschehen.

> Wieso schreibt man so etwas nicht einfach in die Hilfe (reg add /?)?
>

Hmm, das hätte *man* (sprich Programmierer bei MS) dann schon vor
Jahren tun mĂĽssen. Da der Fokus bei denen jetzt wohl eher auf Monad
liegt wird sich da nichts mehr tun.

Wenn man in Batch Dateien rechnen will (mit Set /A) stolpert man irgend
wann zwangsläufig in diese Falle ;-)

Bei Set /? ist es auch erklärt. Mit set und dessen bit-Befehlen kann
man per Batch auch ganz gut zusammengestzte Werte lesen/erzeugen.

Als Beispiel hier das Auslesen von Consolen Dimensionen.
Da sind auch einige Batch-Tricks drin. Da nur reg query und echo drin
sind kannst du ihn einfach laufenlassen und mit der Ausgabe von
reg query "hkcu\console" /S
vergleichen ;-)

::ConsoleSizes.cmd:::::::::::::::::::::::::::::::: ::::::::::::::::::::
@echo off
setlocal
echo Window_X*Y_^|_Buffer_X*Y_^|_App-key_____________________________
for /F "tokens=1-2,*" %%A in (
'reg query hkcu\console /s^|findstr "\ ScreenBufferS WindowS"') do (
if "%%B" NEQ "REG_DWORD" (set "HKCUCon=%%A %%B %%C"&set "SBS="&SET "WS=")
if "%%A" EQU "ScreenBufferSize" set "SBS=%%C"
if "%%A" EQU "WindowSize" set "WS=%%C" & call :display)
goto :eof
:display
set /A "WSW=WS&0xffff, WSH=WS>>16"
set "WSW= %WSW%"&set "WSH=%WSH% "
set /A "SBW=SBS&0xffff, SBH=SBS>>16"
set "SBW= %SBW%"&set "SBH=%SBH% "
set "HKCUCon=%HKCUCon:HKEY_CURRENT_USER=HKCU%"
echo/%WSW:~-5%*%WSH:~,5%^|%SBW:~-5%*%SBH:~,5% ^| %HKCUCon%
::ConsoleSizes.cmd:::::::::::::::::::::::::::::::: ::::::::::::::::::::


--
Gruesse Greetings Saludos Saluti Salutations
Matthias
---------+---------+---------+---------+---------+---------+---------+

Google