我有一個腳本文件,它需要一個介於1和5之間的數字,然後必須將該輸入映射到另一個數字以提供給程序。非常簡單:如果它小於或等於2,則減一個。更高,添加一個。批處理:從輸入讀取數字的加法和減法
這裏是我的腳本的業務部分:
set /p reason=Reason code:
if %reason%==q (
goto eof
)
if %reason% GEQ 1 (
if %reason% LEQ 5 (
if %reason% LEQ 2 (
set /a code=%reason%-1
) else (
set /a code=%reason%+1
)
echo %code%
)
)
我有這個打算與後藤一環。第一次迭代,按1.它說回聲關閉。如預期的那樣再次按1,並且它等於零。按2,它說一個。 2再次,它說1,如預期。
我已經確認它始終如一地表示它應該從最後一個循環輸入什麼(如果是第一個循環,則沒有任何輸入)。每次按'q'鍵退出。
在正確的地方迴響,我確認它符合條件就好。這也是理由很好。它看起來沒有問題,因爲所有的條件都按預期工作(所以如果我按5,然後6,就會阻止6,而不是認爲我給了它5)。
我有另一個腳本具有相同的算術運算,並且工作正常。除了變量的名稱之外,我看不到其他行之間的區別(我之前將其設置回原因變量,但爲了清晰起見更改爲代碼)。
您確定您發佈的代碼完全相同嗎?你確定在「1」時測試用例是否失敗:「echo is OFF」? –