2011-08-05 56 views
8

在人少的.bat文件試試這個:箭頭鍵觸發的Windows批處理文件「暫停」兩次

@echo off 
echo Try space and arrow-down 
pause 
echo 1 
pause 
echo 2 
pause 
echo 3 
pause 
echo 4 
pause 
echo 5 

爲什麼任何箭頭鍵的觸發連續兩次暫停,而空間或只信觸發一個?

謝謝! 的BER

+0

好問題,功能鍵的/ home /插入這樣做太 –

回答

9

我懷疑暫停是簡單地_getch()一個呼叫,其阻塞,直到它讀輸入的一個字符,但其具有警告「當閱讀一個功能鍵或箭頭鍵,每個功能必須被調用兩次;第一次調用返回0或0xE0,第二次調用返回實際的密鑰代碼。「

3

可以解決此問題:

PAUSE>NUL|SET /P =optional text 

與感謝http://www.dostips.com/forum/viewtopic.php?f=3&t=2726

+0

實際的代碼來解決該問題,但保留所有其他行爲(用英語)是'pause> nul | set/p =按任意鍵繼續。 。 。&echo('。echo(需要將光標移動到下一行。 – dbenham

+0

謝謝,這對我很有幫助! – A1rPun