Math 数学。批处理(缺少操作数或运算符)

Math 数学。批处理(缺少操作数或运算符),math,batch-file,cmd,Math,Batch File,Cmd,为什么它说它错了 我收到了诸如缺少操作数和缺少运算符之类的消息。 算符在那个里,虽然我不知道什么是操作数 是的,我在这里寻找答案,但不是所有的答案。。。我看到的至少一个。我相信,%var%是解释器(shell)的语法,它用该变量的值替换了%var%。它应该在调用任何命令之前发生。 Set与环境变量一起工作,因此它必须与它们一起工作,而不是与它们的值一起工作。 Try set/a var=2;设置/a var=var*2。 顺便说一下,“4+5”中+是运算符,4,5是操作数(运算符的参数)。您误用

为什么它说它错了

我收到了诸如
缺少操作数
缺少运算符
之类的消息。 算符在那个里,虽然我不知道什么是操作数


是的,我在这里寻找答案,但不是所有的答案。。。我看到的至少一个。我相信,%var%是解释器(shell)的语法,它用该变量的值替换了%var%。它应该在调用任何命令之前发生。 Set与环境变量一起工作,因此它必须与它们一起工作,而不是与它们的值一起工作。 Try set/a var=2;设置/a var=var*2。
顺便说一下,“4+5”中+是运算符,4,5是操作数(运算符的参数)。

您误用了
%
语法
%
表示
展开此变量的内容
,这不是您想要做的。您希望将计算结果存储回变量中。只需删除赋值运算符左侧的
%

请尝试以下方法:

set /a var=2
(
    set /a %var%=var * 2
    set /a %var%=%var% * 2
    set /a %var%*= 2
)
这就是全部
:)

..%var%的值为
4

set /a var=2
@echo %var%
set /a var=%var% * 2
set /a var=%var% * 2
set /a var*= 2
@echo %var%
set /a var=2
set /a var*=2