我正在接受输入并做一些简单的数学运算的短批处理文件程序。它似乎对除第一个回声以外的所有内容都正确工作。下面是代码:简单的批处理文件如果()失败
set /p usercommand= "Input:"
if "%usercommand%" equ "done" (
set /p usertimeouthours= "Input Hours: "
echo (%usertimeouthours%)
set /p usertimeoutminutes= "Input Minutes: "
echo (%usertimeoutminutes%)
set /p usertimeoutseconds= "Input Seconds: "
echo (%usertimeoutseconds%)
set /a answer= %usertimeouthours%*3600+%usertimeoutminutes%*60+%usertimeoutseconds%
echo %answer%
goto end
) else (
echo finished
goto user
)
:end
为什么第一回波只能输出
(
我的猜测是,什么是错的我的if语句,没有人知道我应该怎么改它?
谢谢!
首先是梦幻般的答案。其次,我明白执行何时发生,但什么时候解析发生?换句话说,你可以给我一个简短的解释批处理文件的运行方式吗?你可以在评论中回应,或者我可以问它作为另一个问题,如果你想代表它;) – jth41 2012-08-09 04:56:48
@John - 你问它:-)看看[jeb的回答](http://stackoverflow.com/ a/4095133/1012053)的问题“Windows命令解释器(CMD.EXE)如何解析脚本?” – dbenham 2012-08-09 05:24:57
那个链接正是我所需要的。非常感谢。也在一个完全不相关的说明。我只是看着你的个人资料,你给出了非常好的答案..但你几乎从不问问题为什么? – jth41 2012-08-09 05:45:49