set /a var=2
(
set /a %var%=var * 2
set /a %var%=%var% * 2
set /a %var%*= 2
)
为什么说错了?
我收到了Missing operand
和Missing operator
等消息。
好吧,运营商在那里,虽然我不知道什么是操作数。
是的我在这里搜索了答案,但并非所有人都解决了......我看到的最少的答案。
答案 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)
答案 2 :(得分:0)
我相信,%var%是解释器(shell)的语法,它将%var%替换为该变量的值。它应该在任何命令被调用之前发生。 设置适用于环境变量,因此必须使用它们而不是它们的值。 尝试set / a var = 2; set / a var = var * 2。 顺便说一下,在“4 + 5”中,+是运算符,4,5是操作数(运算符的参数)。