2013-08-28 34 views
27

Sử dụng lệnh tạm dừng tôi thấy rằng lỗi là ở dòng đầu tiên của mã này:Nhỏ hơn hoặc bằng

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 

Vì vậy, đừng nói rằng tôi quên để thiết lập năng lượng và m2enc, bởi vì Tôi cũng đã thử thay thế %energy% bằng 10m2enc% với 1 và nó vẫn không hoạt động, tôi đã thử thay thế => bằng >= và với LSQ (dường như là một thay thế cho nhỏ hơn hoặc bằng nhau) muốn biết cái gì sai với phần này.

+0

Lỗi bạn đang gặp phải là gì? – Blorgbeard

+0

Kể từ khi một tập tin thực thi của nó, nó có khả năng bị rơi. Lỗi mà anh ta gặp phải nhất là "Sử dụng Cú pháp không hợp lệ" hoặc "Không có Đường dẫn hoặc Thư mục" " – Monacraft

Trả lời

69

Hàng loạt, > là dấu hiệu chuyển hướng được sử dụng để xuất dữ liệu vào tệp văn bản. Các so sánh op sẵn (Và đề nghị) cho cmd dưới (trích dẫn từ if /? giúp đỡ):

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 

Điều đó sẽ giải thích những gì bạn muốn. Chỉ khác so sánh-op là == có thể được chuyển với các tham số if not. Khác thì dựa vào ba chữ cái này.

+1

'! = 'Không hoạt động. – Endoro

6

Không có => nếu có.
Sử dụng if %energy% GEQ %m2enc%

Xem if /? để biết thêm chi tiết khác.

4

Bạn có thể sử dụng:

EQU - bằng

NEQ - không bằng

LSS - ít hơn

LEQ - nhỏ hơn hoặc bằng

GTR - lớn hơn

GEQ - lớn hơn hoặc bằng

tránh sử dụng:

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

Các vấn đề liên quan