2016-12-14 71 views
1

我對批處理腳本非常陌生。我試圖讓用戶從名爲camera.txt的文本文件的第一行輸入一個已知變量。批處理文件:提示用戶輸入.txt的值並運行第二行

camera.txt包含:

cam52http://192.168.101.52/reboot.cgi?delay=555

cam53http://192.168.101.53/reboot.cgi?delay=555

如果用戶輸入cam52將繼續與第二行的值 「欄啓動IE兩個在文本文件中

我有以下迄今爲止但不確定如果我即使在正確的道路......

@echo off 

Title Input Camera and Reboot 

    ECHO input camera to restart 

......? 

FOR /f "tokens=2 delims= " %%b IN (camera.txt) DO ECHO Launching Internet Explorer with camera URL %%b 

Start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" "%%b" 

我怎麼做它的工作?

回答

1

讓我們開始獲取用戶輸入。
In Windows cmd, how do I prompt for user input and use the result in another command?

set /p id="Enter ID: " 

其次,循環throught文件。

您已經仔細考慮過了。榮譽。但是,我們需要獲得這兩條線。 tokens=2只會得到第二部分(URL)。因此,我們將改變它有點...

FOR /f "tokens=1,2 delims= " %%a IN (camera.txt) DO 

更多這方面的信息,請參閱http://ss64.com/nt/for_f.html


三,比較。

From ss64's if documentation:

IF %ERRORLEVEL% EQU 2 goto sub_problem2 

四,打開的頁面/瀏覽器

從另一個SO問題:Open a Web Page in a Windows Batch FIle

start "" http://www.stackoverflow.com 

摘要

所以,如果我們增加所有這些合作,我們得到這樣的:

@echo off 
REM Title Input Camera and Reboot 

set /p cam="input camera to restart: " 

FOR /f "tokens=1,2 delims= " %%a IN (camera.txt) DO (
    if %%a EQU %cam% (
     ECHO Launching Internet Explorer with camera URL %%b 
     start "" %%b 
    ) 
) 
+1

WOW!它現在完全合理。你真了不起。謝謝! – MikeyNike