2010-07-09 32 views
7

Tôi có một tập lệnh batch để kiểm tra xem khóa đăng ký có tồn tại không và nếu nó tồn tại thì hãy mở trình khám phá Internet. Những gì tôi bây giờ muốn làm là lấy giá trị của khóa đăng ký đó và đặt nó vào URL. Tôi có thể làm cái này như thế nào?Lấy Giá trị của Khóa Đăng ký

@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 

Cảm ơn mọi sự giúp đỡ.

Trả lời

19

Ở đây bạn đi, nên tự giải thích với nhận xét. Hãy cho tôi biết nếu bạn có bất kỳ câu hỏi.

@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

Cảm ơn bạn, thực sự thực sự hữu ích! :) – Abs

+0

@esac 'REG.EXE' phiên bản và phím được yêu cầu xuất hiện khi được thực thi trên WinXP SP3, nhưng kịch bản hoạt động :) – BalticMusicFan

+0

Đã làm như thế này' (truy vấn reg% THEME_REGKEY%/v% THEME_REGVAL% 2> nul || (goto : SETUP_001))> nul' – BalticMusicFan

Các vấn đề liên quan