if%variable%==,不工作

时间:2013-08-28 23:55:27

标签: batch-file

所以我正在制作一个RPG,口袋妖怪风格格斗游戏(带电影角色)来测试我的技能,我显然需要更多的工作。它是一个批处理(.bat)文件,我使用的是notepad ++。 “Katniss”部分确实有效,而其他三部分无效。之前设置了%char%(字符),而Katniss的工作原理在那里不是问题。这个问题与我认为的“if”声明有关。这是代码的一个片段,我会有整个事情,但它大约有400行,我已经使用pause s缩小到这一部分。

`:character2
cls       
REM --------------------------------------------------Characters aren't working here
if %char% == Katniss set hp=100
    set mattack1=Knife
    set rattack1=Arrow
    set rattack2=Fire Arrow
    set rattack3=Explosive Arrow
    set block1=Bow Block
    set armr=2
    set energy=140
    set m1enc=50
    set m1hpd=25
    set m2enc=25
    set r1hpd=20
    set r1enc=65
    set r2hpd=50
    set r2enc=110
    set r3hpd=75
    set r3enc=140
    set bk1md=5
    set bk1ec=50
    set defense=2
    goto corc
if %char% == Gandalf set hp=120
    set mattack1=Staff
    set mattack2=Sword
    set mgttack1=Fireball
    set mgttack2=Blast
    set mgttac2=Staff
    set block2=Magic Shield
    set block3=Sword
    set armr=0
    set energy=100
    set m1hpd=15
    set m1enc=40
    set m2hpd=40
    set m2enc=90
    set mg1hd=45
    set mg1ec=100
    set mg2hd=10
    set mg2ec=25
    set mg3hd=5
    set mg3ec=25
    set bk1md=5
    set bk1ec=80
    set bk2md=25
    set bk2ec=100
    set bk3md=3
    set bk1ec=45
    set defense=0
    goto corc`

我试过雅虎答案,但该人没有阅读完整的问题并说我需要设置%char%

----的 答案 原来是(

)

事情,我错过了一些,这阻止了变量的设置,但""与它无关。

2 个答案:

答案 0 :(得分:3)

使用括号和双引号:

if "%char%"=="Katniss" (
   set "hp=100"
   set "x=1"
   set "y=2"
   ...
   goto corc
)

答案 1 :(得分:0)

使用括号:

if %char% == Katniss (
   set hp=100
   set x=1
   set y=2
)