Получить значение ключа реестра - PullRequest
7 голосов
/ 09 июля 2010

У меня есть пакетный скрипт, который проверяет, существует ли раздел реестра и существует ли он, затем откройте Internet Explorer.Теперь я хочу получить значение этого регистрационного ключа и поместить его в URL.Как я могу это сделать?

@echo off
reg query HKLM\Software\Test\Monitor\Settings
if errorlevel 1 goto not_exist
goto exist

:not_exist

:exist
start "Test" "%ProgramFiles%\Internet Explorer\iexplore.exe" http://localhost:/dashboard.php

Спасибо всем за помощь.

1 Ответ

19 голосов
/ 09 июля 2010

Вот, пожалуйста, должно быть само за себя с комментариями.Дайте мне знать, если у вас есть какие-либо вопросы.

@echo off

set THEME_REGKEY=HKLM\Software\Microsoft\Windows\CurrentVersion\Themes
set THEME_REGVAL=ThemeName

REM Check for presence of key first.
reg query %THEME_REGKEY% /v %THEME_REGVAL% 2>nul || (echo No theme name present! & exit /b 1)

REM query the value. pipe it through findstr in order to find the matching line that has the value. only grab token 3 and the remainder of the line. %%b is what we are interested in here.
set THEME_NAME=
for /f "tokens=2,*" %%a in ('reg query %THEME_REGKEY% /v %THEME_REGVAL% ^| findstr %THEME_REGVAL%') do (
    set THEME_NAME=%%b
)

REM Possibly no value set
if not defined THEME_NAME (echo No theme name present! & exit /b 1)

REM replace any spaces with +
set THEME_NAME=%THEME_NAME: =+%

REM open up the default browser, searching google for the theme name
start http://www.google.com/search?q=%THEME_NAME%
...