2015-09-25 24 views
2

我有这段代码,它按预期运行并完成。但在错误之后给出错误。缺少运算符-3未被识别为内部或外部命令。 - 批号

Missing operator. 
'-3' is not recognized as an internal or external command, 
operable program or batch file. 
Missing operator. 
'-3' is not recognized as an internal or external command, 
operable program or batch file. 
r.6.5.mca 

它的确呼应了正确的答案,虽然这是r.6.5.mca

这里是代码

SET /a minrand=-3 
SET /a maxrand=3 
set /a placeobject=0 
set /a createname=0 
set /a oldX=5 
set /a oldY=2 

SET /a shiftX=%RANDOM% %% (maxrand-minrand+1)+minrand rem will set shiftX to number between %maxrand% & %minrand% 
SET /a shiftY=%RANDOM% %% (maxrand-minrand+1)+minrand rem will set shiftY to number between %maxrand% & %minrand% 
SET /a newX= (oldX+shiftX) 
SET /a newY= (oldY+shiftY) 

echo r.%newX%.%newY%.mca 
pause 

一个我已经注意到的事情是问题不会发生,如果minrand是一个正数。对于这个程序,尽管它必须是一个负数。记住它的工作原理,但会引发错误。

+0

我不知道它是否会工作,但你有没有试过用引号括住'-3'? 'SET/a minrand =“ - 3”' – Eraph

回答

1

您不能在这样的行内使用rem。移动他们到一个单独的行,所有的麻烦都消失了。

+0

谢谢你!有用! – flanigomik

相关问题