2010-07-09 3 views
7

Ich habe ein Stapel-Skript, das prüft, ob ein Registrierungsschlüssel vorhanden ist, und wenn es vorhanden ist, dann öffne den Internet-Explorer. Nun möchte ich den Wert dieses Registrierungsschlüssels ermitteln und in die URL eingeben. Wie kann ich das machen?Wert des Registrierungsschlüssels abrufen

@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 

Vielen Dank für jede Hilfe.

Antwort

19

Hier gehts, sollte selbsterklärend mit Kommentaren sein. Lass es mich wissen, wenn du irgendwelche Fragen hast.

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

Vielen Dank, wirklich sehr hilfreich! :) – Abs

+0

@esac 'REG.EXE' Version und angeforderter Schlüssel erscheint, wenn auf WinXP SP3 ausgeführt, aber Skript funktioniert :) – BalticMusicFan

+0

Hat so etwas getan' (reg Abfrage% THEME_REGKEY%/v% THEME_REGVAL% 2> nul || (goto : SETUP_001))> nul' – BalticMusicFan

Verwandte Themen