2013-08-28 20 views
27

Utilizzando il comando di pausa ho trovato che l'errore è nella prima riga di questo codice:meno o uguale a

if %choice% == 1 if %energy% => %m2enc% set /a enemhp=%enemhp%-%m1hpd%+%earmr% 
pause 
set /a energy= %energy%-%m1enc% 
set /a hp= %hp%-%edefense% 
set /a defense= %defense%+1 
goto battle 

Quindi non dico che ho dimenticato di impostare l'energia e la m2enc, perché ho fatto appena in una sezione diversa, ho anche provato a sostituire %energy% con 10 e m2enc% con 1 e ancora non ha funzionato, ho provato a sostituire il => con >= e con LSQ (a quanto pare un'alternativa per minore o uguale troppo) Così ho vorrei sapere cosa c'è di sbagliato in questa parte.

+0

Qual è l'errore hai trovato? – Blorgbeard

+0

Poiché si tratta di un file batch, è probabile che si verifichi un arresto anomalo. L'errore che sta ottenendo è "Uso non valido della sintassi" 'o' "Non esiste tale percorso o directory" ' – Monacraft

risposta

69

In batch, > è un segno di reindirizzamento utilizzato per l'emissione di dati in un file di testo. Del PO confrontare disponibili (e consigliato) per cmd sono al di sotto (citato dal if /? aiuto):

where compare-op may be one of: 

    EQU - equal 
    NEQ - not equal 
    LSS - less than 
    LEQ - less than or equal 
    GTR - greater than 
    GEQ - greater than or equal 

Questo dovrebbe spiegare che cosa si vuole. L'unico altro comparatore è == che può essere commutato con il parametro if not. Altri poi che si basano su questi tre lettera.

+1

'! = 'Non funziona. – Endoro

6

Non esiste il numero => per if.
Utilizzare if %energy% GEQ %m2enc%

Vedere if /? per altri dettagli.

4

È possibile utilizzare:

EQU - uguale

NEQ - non uguale

LSS - meno di

LEQ - inferiore o uguale

GTR - maggiore di

GEQ - maggiori o uguali

EVITARE L'UTILIZZO:

() ! ~ - * /% + - < < >> & | = * =/=% = + = - = & =^= | = < < = >> =