【发布时间】:2012-07-16 17:46:48
【问题描述】:
我正在尝试编写一个批处理文件,该文件根据对一组变量执行的模运算的结果执行操作。但是,我似乎无法完全正确。
为了首先测试我的数学运算语法,我一直在尝试获得一个更简单的脚本来产生所需的结果。
:START
SETLOCAL
SET /P Input-Num="Input Number: "
SET /A Input-Num=%Input-Num% %% 2
ECHO %Input-Num%
ENDLOCAL
PAUSE
:END
如果我输入5,预期的输出是1。但是,我收到一条消息说Missing operator.,然后它输出5。
我在这里做错了什么?
【问题讨论】:
-
这是 DOS 还是别的什么?当我运行那个确切的样本时,我得到
1而没有Missing operator(在顶部添加了@ECHO OFF) -
您的代码从批处理文件中运行良好。如果您直接在 CMD 中输入,请不要转义
%。使用%而不是%%。 -
@LittleBobbyTables 首先,我喜欢你的网名。它在 Windows 7 上的 CMD 中。我已经更新了标签。
-
@vcsjones 我会再试一次,但我一直将它作为批处理文件运行。也许唯一显着的区别是我一直使用
SET /P进行第一个变量设置。 -
更新问题以反映
SET /P。
标签: math windows-7 batch-file