【发布时间】:2017-03-25 07:07:20
【问题描述】:
很难运行我的批处理文件。
我相信这与我的 if 语句有关,它不会失败。
我总是以“如果此时出乎意料”结束。
请任何帮助不胜感激
:firstNumber
set /p "firstNum = Enter the first number (other than 22) "
if "%firstNum%"=="22" (
goto :end
) else (
goto :secondNumber
)
:secondNumber
set /p "secondNum = Enter the second number (other than 22 and 0) "
if "%secondNum%"=="22" (
goto :end
) if "%secondNum%"=="0" (
goto :errorNumber
) else (
goto :command
)
:errorNumber
echo You cannot divide by 0
goto :secondNumber
:command
set /a quotient=%firstNum% / %secondNum%
echo "%firstNum% divided by %secondNum% = !quotient!
:end
【问题讨论】:
-
我会在
set /P之前插入一个标准的set命令,以便在用户简单地按enter 的情况下定义一个默认值,例如set "firstNum=0"和set "secondNum=0", 分别;然后我将删除if比较中的引号并将运算符==替换为EQU以便进行数字比较而不是字符串比较(如if %secondNum% EQU 0);最后我会缩进出现在一对括号中的所有命令以提高可读性...
标签: loops batch-file if-statement