Tôi là một bộ đếm thời gian cũ là người mới làm quen với lập trình DOS Batch. Tôi có những gì tôi nghĩ rằng là một tập lệnh lô rất đơn giản, đó là không hoạt động. Tôi đã tìm các bài đăng tương tự và không tìm thấy bài đăng nào phù hợp.So sánh 2 số trong DOS Lô Không hoạt động
Tôi đang chạy tập lệnh dưới đây trên XP. My Mục tiêu là kiểm tra dung lượng đĩa trống trước khi tiếp tục, nhưng tôi đã gặp sự cố so sánh 2 số, vì vậy tập lệnh bên dưới chỉ chứa logic đó. Tôi có những con số được mã hóa cứng để hiển thị vấn đề, đó là ... Sự so sánh (nếu x gtr y) dường như không hoạt động, và vì vậy logic nhánh sẽ đi sai chỗ. Hoặc là, hoặc tôi đang rối tung lên một nơi khác trong câu lệnh IF. (Một số báo cáo echo là không cần thiết - chúng là để gỡ lỗi - nhưng bây giờ tôi đã để chúng lại.)
Bất kỳ sự giác ngộ nào về việc tôi sẽ sai sẽ được đánh giá cao.
Thx ...
@echo off
set Free=217522712576
set Need=20000000000
echo Free=%Free%
echo Need=%Need%
echo on
IF %Free% GTR %Need% (GOTO Sufficient_Space) ELSE GOTO Insufficient_Space
@echo off
:Insufficient_Space
@ECHO INSUFFICIENT SPACE
GOTO DONE
:Sufficient_Space
@ECHO SUFFICIENT SPACE
:DONE
tôi t hink tôi đã tìm ra điều này. Tôi nghĩ rằng các con số là quá lớn. Nếu tôi làm cho cả hai con số 1 chữ số nhỏ hơn, nhưng vẫn với cùng một mối quan hệ kích thước, nó hoạt động tốt! Tôi sẽ phải sửa đổi tập lệnh của mình để thực hiện tương tự. Đó là, thu nhỏ các con số trong khi vẫn giữ mối quan hệ kích thước của chúng giống nhau. Thanx để nghe :-) (Và, thanx để Alex K. định dạng lại mã của tôi! Tôi cho rằng nếu tôi xem kỹ trang web này, tôi sẽ xem hướng dẫn cách tự làm điều này, đúng không?) – feenyman99