另外太更簡單的方法在兩行做到這一點,而無需使用IF語句是這樣的:
2行編輯:
choice /c yn /n /m "DO YOU WANT YOUR COMPUTER TO SHUTDOWN? (y/n)"
goto %ERRORLEVEL%
整個代碼(含2行編輯):
@echo off
echo ---WARNING---
echo.
choice /c yn /n /m "DO YOU WANT YOUR COMPUTER TO SHUTDOWN? (y/n)"
goto %ERRORLEVEL%
:1
shutdown /s
:2
pause
選擇的解釋,一內置命令:
該工具允許用戶從選項列表中選擇一個項目並返回所選選項的索引。 /c yn
指定用戶必須選擇的選項。 /n
隱藏用戶的默認提示。 /m
給用戶定製了一條消息,在" "
中定義。第二行需要的是goto %ERRORLEVEL%
,它將代碼發送到代碼中所需的:
。 %ERRORLEVEL%
(此解釋僅適用於選擇命令,%ERRORLEVEL%
可用於許多其他方式)返回1到x之間的數字,其中x是選擇的總數。在這個例子中,當按下y
時將返回1,當按下n
時將返回2。
編輯: 你是有點正軌,但你只是在使用錯誤的命令。你可以實現我的修補程序的另一種方法是這樣的:
@echo off
echo ---WARNING---
echo.
choice /c yn /n /m "DO YOU WANT YOUR COMPUTER TO SHUTDOWN? (y/n)"
set INPUT=%ERRORLEVEL%
if %INPUT% EQU 1 goto yes
if %INPUT% EQU 2 goto no
:yes
shutdown /s
:no
pause
對於if
命令,你有平等的C++語法。批量中,您使用EQU
等於,NEQ
不等於,LSS
小於,LEQ
小於等於,GTR
大於等於GEQ
大於等於。有關更深入的信息,您可能需要在下一次打開命令提示時執行if /?
。它充滿了許多信息。
這也消除了任何id10t用戶錯誤,這意味着任何用戶可以做的嘗試打破它或錯誤地使用它。
〜燒傷