2014-09-01 110 views
1

我想知道是否有一個命令自動退出一個批處理文件,如果它被孤立了一定的秒數。如果空閒時自動退出批處理的命令?

我做了一個類似於here的小程序。我使用的大多數編碼都顯示在頁面上,但它基本上會詢問您要訪問的網站,並選擇其中一個選項可打開一個帶有所需頁面的瀏覽器窗口。但是,選擇所列網站之一後,程序將顯示選項以退出或返回頂部。這是我通常忘記的地方,直到我關閉了我正在查看的任何內容,並且該批次仍然在後臺打開。

因此,無論如何設置一個自動退出計時器,而不會中斷用戶,並且不限制返回並選擇另一個選項的能力?

謝謝!

+0

http://stackoverflow.com/a/4340058/548036的答案@ daniel11可以有答案(TIMEOUT/T 3600/NOBREAK) – 2014-09-01 19:45:58

+0

不,你不想'超時',你想'選擇'。:http://stackoverflow.com/questions/12331428/how-to-ask-for -batch-file-user-input-with-a-timeout – indiv 2014-09-01 19:47:51

+0

Y你也可以多線程和強制終止。但是,這將是一個複雜的任務 – Monacraft 2014-09-02 00:00:50

回答

2

可以使用choice命令,而不是set /p

ž是一個自動選項,您可以用另一個字母。

/D是時間通過時的默認選項。 /T是等待的時間(這種情況下,5秒)。在cmd中

choice /n /c:xbe /T 5 /D x /M "Make your selection" 
if errorlevel 1 exit 
if errorlevel 2 goto :option_b 
if errorlevel 3 goto :option_e 

更多信息類型:

choice /n /c:zbe /T 5 /D x /M "Make your selection"

然後用它在你的代碼 choice /?

+0

嘿@ Honguito98很高興在這裏見到你。 – npocmaka 2014-09-01 21:09:08

+0

我從來不知道選擇命令。感謝您的輸入! – 2014-09-02 06:56:35

+0

我通過實驗發現,「if errorlevel」語句的順序很重要。經過一些試驗和錯誤之後,我把它做得很漂亮。再次感謝。 – 2014-09-02 07:28:34

1

請把這裏

set /p udefine= 

這條線是等待B或E

既然你只需要選擇一個網站後退出該批處理文件一看,你可以擦這些行

echo Type [e] to exit or [b] to go back and select another site. 
echo. 
set /p udefine= 
echo. 
echo *************************************************************** 
if %udefine%==b goto top 
if %udefine%==e goto exit 
:exit 
cls 
echo *************************************************************** 

而且這條線(最後一個)之前

pause