1
所以,我有一個批處理文件中的set/p事物。對於用戶來說,他們必須輸入「2」。我似乎無法在任何地方找到我的具體問題。「if」批處理語句:文件崩潰時輸入應該是一個數字,而是有空格的話
@echo off
echo "What is 1+1"
set /p oneplusone=Type Answer Here:
if %oneplusone%==2 goto correct
if %oneplusone% neq 2 goto incorrect
:correct
cls
echo Correct!
pause
goto youranswer
:incorrect
cls
echo Wrong.
pause
goto youranswer
:youranswer
cls
echo You answered: %oneplusone%
現在,如果用戶鍵入不帶空格的數量/字,一切正常了,它表明你的答案被通緝。
但是,例如,如果用空格鍵入「hi there」之類的內容,批處理文件會立即關閉。只有當答案需要是一個數字時,纔會發生這種情況,並且輸入涉及空間的東西。
任何幫助?
在此先感謝。
更改您的IF語句中使用引號。 '如果「%oneplusone%」==「2」轉到正確# – Squashman
讚美你,squashman! –
使用'=='比較和''「'強制字符串比較;你可以聲明'set/A oneplusone = oneplusone'將該值轉換爲一個數字,然後使用'if%oneplusone%equ 2' ... – aschipfl