2014-06-18 45 views
0

我寫了一個只有一個選擇命令的簡單批處理文件。代碼如下:批處理文件選擇命令循環

Choice /C yn /M /t 5 "Do you want to continue" 
If Errorlevel 2 Goto No 


If Errorlevel 1 Goto Yes 

Goto End 
:No 
Echo You selected No 


Goto End 
:Yes 
Echo You selected Yes 


:End 

問題是當我運行它不等待輸入..它循環通過,並沒有停止。我不知道該怎麼做,或者爲什麼它不起作用。我使用比這更復雜的選擇命令創建了一個批處理文件,它工作正常。但是該文件也不適用於我的電腦。

另外,如果我在cmd中直筒型的選擇命令它工作正常,但批處理文件循環

有什麼建議?感謝

這裏是一個視頻的鏈接,準確顯示其做http://youtu.be/4TkwlR7yMb8

回答

0

/M交換機是消息,則需要/M後的文本寫。您還需要包含/D開關(默認值),因爲您指定了必須用/T進行選擇的時間。默認選項是如果用戶沒有進行選擇(例如五秒鐘),將自動選擇的選項。以下示例將在時間結束時自動選擇n

Choice /C yn /D n /T 5 /M "Do you want to continue" 

批處理文件的名稱不能與批處理文件中使用的命令相同。當您撥打可執行文件(即choice)時,在查看path變量中的目錄之前,cmd將在當前目錄中查找該名稱的文件。因此,由於批處理文件名爲choice.bat,因此在運行命令choice /c ...時,實際上是在調用批處理文件本身,而不是choice命令。重新命名您的批處理文件。

+0

我會嘗試,但我仍然不確定爲什麼我在工作中(語法是正確的)沒有在我的電腦上工作,但工作正常...但我在這個文件中的錯誤顯然是謝謝 – hackn101

+0

沒有工作......你對我的語法的評估是正確的,謝謝你,但它仍然循環。它甚至會循環,如果我只是選擇沒有參數 – hackn101

+0

我無法複製您的問題。您提供的代碼是否正確**您正在使用的是什麼? – unclemeat