2014-10-19 95 views
1

我在Windows 7中創建了一個用於休眠的.bat文件。但是我想用1和2來使用n和y。但是errorlevel不支持字母。我需要做什麼?在Win7 with.bat文件中休眠。如何輸入y進行休眠,n進入非冬眠狀態?

@ECHO off 
ECHO Press y for hibernate,n for exit 
@CHOICE /C:12 
IF ERRORLEVEL 2 GOTO two 
IF ERRORLEVEL 1 GOTO one 
GOTO end 
:one 
ECHO You have pressed "1"! 
GOTO end 
:two 
ECHO You have pressed "2"! 
%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0 
:end 
@PAUSE 

回答

2

使用這個代替錯誤級別:

set /p answer= Press y for hibernate,n for exit 
if /i "%answer%"=="n" (GOTO one) 
if /i "%answer%"=="y" (GOTO two) 
goto :start 

我希望我幫助

+1

我比以前的答案更喜歡它,因爲我可以輸入每一個字母,不僅是y或n:D和pc不會發出嗶嗶聲:) – user320187 2014-10-20 12:01:18

+0

@ user320187我很高興你喜歡我的解決方案 – Oliver 2014-10-20 16:19:59

3

供選擇默認爲YN,所以我不知道爲什麼你說這是不可能做到這一點。你已經告訴它只做1和2。

閱讀幫助。

choice /? 

第一個選擇是1,第二個選擇是2,...,第n個選擇是n。

+0

謝謝。用CHOICE/C:取代CHOICE/C:12,它可以工作。 :d – user320187 2014-10-20 11:50:51