Get Value of Registry Key
Asked Answered
V

1

7

I have a batch script that checks if a registry key exists and if it does exist then open Internet explorer. What I now want to do is get the value of that registery key and put it in the URL. How can I do this?

@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

Thanks all for any help.

Vrablik answered 9/7, 2010 at 14:29 Comment(0)
G
19

Here you go, should be self explanatory with comments. Let me know if you have any questions.

@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%
Guyot answered 9/7, 2010 at 17:12 Comment(2)
@Guyot REG.EXE version and requested key appears when executed on WinXP SP3, but script works :)Orpington
Did something like this (reg query %THEME_REGKEY% /v %THEME_REGVAL% 2>nul || (goto :SETUP_001)) >nulOrpington

© 2022 - 2024 — McMap. All rights reserved.