我已经看到了这个一般性问题的许多答案,但不确定如何将解决方案纳入我的批次......你能帮忙吗?我需要此命令/键的十进制值:
reg query HKLM\Software\Wow6432Node\TeamViewer\Version9 /v ClientID
答案 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%