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

时间:2013-05-10 19:59:50

标签: math batch-file cmd

set /a var=2
(
    set /a %var%=var * 2
    set /a %var%=%var% * 2
    set /a %var%*= 2
)

为什么说错了?

我收到了Missing operandMissing operator等消息。 好吧,运营商在那里,虽然我不知道什么是操作数。

是的我在这里搜索了答案,但并非所有人都解决了......我看到的最少的答案。

3 个答案:

答案 0 :(得分:2)

您滥用%语法。 %表示expand the contents of this variable,这不是您想要做的。您希望将计算结果存储回变量中。只需删除赋值运算符左侧的%即可。

请改为尝试:

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

答案 1 :(得分:1)

所有:)

set /a var=2
set /a var*=2

..%var%的值为4

请参阅operand

答案 2 :(得分:0)

我相信,%var%是解释器(shell)的语法,它将%var%替换为该变量的值。它应该在任何命令被调用之前发生。 设置适用于环境变量,因此必须使用它们而不是它们的值。 尝试set / a var = 2; set / a var = var * 2。 顺便说一下,在“4 + 5”中,+是运算符,4,5是操作数(运算符的参数)。