批处理 - If / Else / If *** echo

Batch - If / Else / If *** echo

我正在批量处理 "Game",但我没有找到问题的正确答案。

我想要实现的是:

如果钱 => 10
echo 你成功了

从 %money%

中移除 10

如果钱 = < 10
echo 你没有成功

现在我有:

if %money% = GRT THN 10 (
  echo You are successful
  set %money% -= 10
) else (
  echo You are not successful
)
pause nul>

如能得到解答,将不胜感激。明明是新手,真的可以求助

If money = > 10 echo You Are Successful and remove 10 from %money%

If money  < 10 echo You Aren't Successful     ( no equal to here )

如果你想对变量进行数学运算,你必须使用SET /A

@ECHO OFF
REM  enter start value here
SET /A money=20
IF %money% GEQ 10 (
    SET /A money=%money%-10
    ECHO You are successful
) ELSE ECHO You are not successful!

有关更多信息,请查看:http://ss64.com/nt/set.html

此外,假设您使用 %var% 访问 var 的值。 SET /a var = 123var 的值设置为 123。所以 SET %var%=321 将意味着您正在尝试将 321 分配给 varvalue,这意味着 123=321。这显然是无稽之谈。 所以请记住:使用 SET variable = value 存储 一个值,使用 %variable% 提取 这个值。 永远不要在表达式的左侧组合使用 SET 和 %。