2014-11-06 3 views
0

Я видел много ответов на этот общий вопрос, но не уверен, как включить решения в мою партию ... Можете ли вы помочь? Мне нужно десятичное значение для этой команды/ключ:Значение реестра для конкретного ключа

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

ответ

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

Он преобразует 0x..... в десятичное значение. Не забудьте использовать %a вместо %%a, если вы используете cmd, а не пакетный файл.

+0

спасибо, что сэр. Это очень понравилось. Я внес некоторые изменения. Вот моя новая партия для удовлетворения вашего рабочего ответа. @Echo OFF SET/p name = Что такое имя пользователя для поиска TeamViewer ID? for/f "tokens = 3" %% a in ('reg query \\% name% \ HKLM \ Software \ Wow6432Node \ TeamViewer \ Version9/v ClientID') do (set/a ID = %% a) Echo , Эхо. echo Teamviewer ID для пользователя:% ID% pause Не знаете, как показать это как пакетные данные? извините – R0tten

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% 
+0

спасибо. Решение Рафаэля работает персиковое, хотя я уверен, что это тоже работает. Очень полезно! – R0tten

Смежные вопросы