Batch-cmd将字符串表示为数字?

时间:2014-05-26 22:32:11

标签: variables batch-file if-statement cmd set

我正在制作一个带有库存系统的批量RPG,我希望这样做,以便当用户装备武器时,他们将它更改为当前武器弦到他们装备的武器(在这种情况下,是Tachi剑) 。当程序运行并装备武器时,它会将当前武器从拳头(默认)更改为0.发生了什么?

以下是代码:

:Inventory
cls
echo Type the number to equip the weapon (Type back to return home)
echo Equipped Weapon: %currentweapon%
echo.
echo Weapons:
echo.
if %sword1%==true echo 1- Tachi && set /a anyweps=true
if %anyweps%==false echo You have no weapons.

set /p equip="Enter the number here:"
if %equip%==1 if %sword1%==true set /a currentweapon=Tachi

请帮忙!谢谢!

1 个答案:

答案 0 :(得分:1)

您的错误在这里:

set /a anyweps=true

同样在这里:set /a currentweapon=Tachi

set /a将设置一个数字,true不是数字,因此变量将为“0”(数字相当于一个空字符串)。

只需删除/a

请注意:对于字符串,请使用set "var=string"进行算术运算set /a var=5+2