我真的對這個問題感到困惑。我正試圖撰寫一個電源計劃切換器(因為我的筆記本電腦似乎有一個問題,它經常無緣無故地重置為節能狀態),我已經得到了選擇提示的作業。
這兩段代碼都能作業,但如果我輸入1來選擇無電源計劃鎖,它就能正常運行代碼,但隨后第二個選擇也會不問自明地運行。我真的不明白為什么會發生這種情況。
我以為我把數字弄糊涂了,所以我仔細檢查了一下,但它們都很好。
這里是代碼。
echo power plan locker
echo by hummingrofl560
echo please mark your selection below.
echo ==================================
echo 1.無計劃鎖定 - 在改變計劃之前使用這個。也允許改變計劃設定。
echo 2.省電 - 在可能的情況下通過降低計算機的性能來節省能源。
echo 3. balanced/automatic (default) - 在有能力的硬體上自動平衡性能和能源消耗。
echo 4.高性能 - 傾向于性能,但可能使用更多的能源。
echo 5. quiet mode - 降低性能,但使其更安靜。
choice /N /C:12345 /M "請做選擇"%1
如果錯誤級別==1,轉到1
如果錯誤級別==2,轉到2
如果錯誤級別==3,轉到3
如果錯誤級別==4,轉到4
如果錯誤級別==5,轉到5
:一
回顯禁用電源計劃鎖。
c:powerplansDefault_no_specified_power_plan.reg
echo 電源計劃鎖被禁用。
echo 在新的電源計劃設定生效之前,你必須重新啟動你的計算機。
暫停
:TWO
echo 啟用 "平衡/自動 "的鎖
c:powerplansSpecify_Automatic_power_plan.reg
echo 計劃被鎖定為 "平衡/自動"。
echo 你必須在新的電源計劃設定生效之前重新啟動你的計算機。
暫停
uj5u.com熱心網友回復:
你的代碼中至少有兩個問題。
你使用了錯誤的語法來檢查錯誤級別。
IF [NOT] ERRORLEVEL 數字命令
ERRORLEVEL number 指定一個真實的條件,如果最后運行的程式
如果你試圖與一個精確的匹配進行比較,使用
if %ERRORLEVEL% == 1代替。第二個問題:批處理中的一個函式必須以某種方式結束或回傳。
:one echo 這是一,在這里結束 exit /b :二 echo 這是二,在這里結束 得到 :eofuj5u.com熱心網友回復:
事實證明,批處理的選擇有點奇怪,你的選擇需要以降序(3,2,1)而不是升序(1,2,3)。經過快速交換,問題就解決了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/315751.html
標籤:
