特定密钥的注册表值

时间:2014-11-06 16:41:40

标签: batch-file registry

我已经看到了这个一般性问题的许多答案,但不确定如何将解决方案纳入我的批次......你能帮忙吗?我需要此命令/键的十进制值:

reg query HKLM\Software\Wow6432Node\TeamViewer\Version9 /v ClientID

2 个答案:

答案 0 :(得分:1)

for /f "tokens=3" %%a in ('reg query HKLM\Software\Wow6432Node\TeamViewer\Version9 /v
 ClientID') do (set /a num = %%a)
echo/%num%

它会将0x.....转换为十进制值。 如果您使用的是cmd而不是批处理文件,请不要忘记使用%a而不是%%a

答案 1 :(得分:1)

将输出管道传输到文件。读取该文件的每一行,查找值名称。然后,通过SET /A运行积分值将其转换为十进制。这适用于整数注册表数据类型,但如果值存储为REG_BINARY(有时会发生),则无效。

SETLOCAL

SET "KEY=HKLM\Software\Wow6432Node\TeamViewer\Version9"
SET "VALUE=ClientID"

SET "TEMPFILE=%TEMP%\REG_QUERY_%RANDOM%.txt"

REG QUERY "%KEY%" /v "%VALUE%" > "%TEMPFILE%"

FOR /F "tokens=1,2,3,4" %%k IN (%TEMPFILE%) DO (
    IF "%%~k"=="%VALUE%" (
        SET /A DATA=%%m
    )
)
DEL /Q "%TEMPFILE%"

@ECHO Data: %DATA%
相关问题