2010-07-09 23 views
7

Kayıt defteri anahtarının olup olmadığını denetleyen bir toplu iş komut dosyası var ve eğer varsa, Internet Explorer'ı açın. Şimdi yapmak istediğim, bu kayıt anahtarının değerini almak ve URL'ye koymak. Bunu nasıl yapabilirim?Kayıt Defteri Anahtarının Değerini Alın

@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 

Teşekkür Herhangi bir yardım için tüm.

cevap

19

İşte işte, yorumlarla kendini açıklayıcı olmalı. Herhangi bir sorunuz olursa haberim olsun.

@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

Teşekkür ederim, gerçekten çok yardımsever! :) – Abs

+0

@esac 'REG.EXE' sürümü ve istenen anahtar WinXP SP3 üzerinde yürütüldüğünde görüntülenir, ancak komut dosyası çalışır :) – BalticMusicFan

+0

Böyle bir şey yaptık (reg sorgu% THEME_REGKEY%/v% THEME_REGVAL% 2> nul || (goto) : SETUP_001))> nul' – BalticMusicFan

İlgili konular