Tôi có một tệp bó là một trình bao bọc xung quanh trình cài đặt. Tệp bó này kiểm tra mức lỗi được trình cài đặt trả về và in tương ứng.
Tôi nhận thấy rằng nếu tôi thực thi set ERRORLEVEL=0
trong một dấu nhắc lệnh ngay trước khi khởi động tệp bó (trong cùng một cửa sổ lệnh / môi trường), trình cài đặt không bao giờ gây rối với errorlevel và tập lệnh bó của tôi luôn được trả về. Tôi giả sử %ERRORLEVEL%
là một biến được xác định bởi Windows và được sử dụng cụ thể để in ra các lỗi từ các chương trình và tập lệnh và việc sử dụng biến đó trong một tệp bó hoặc một cái gì đó sẽ là 'nguy cơ của riêng bạn' bởi vì nó có thể bị thay đổi bất cứ lúc nào một quá trình khác.
Từ những gì có vẻ như, khi tôi đặt errorlevel trong môi trường đã cho, thì bằng cách nào đó nó chấm dứt việc sử dụng errorlevel như một người giữ mã thoát. Có ai biết tại sao điều này? Đối với tôi nó chỉ là hành vi bất ngờ kỳ lạ. Bất kỳ thông tin về chủ đề này sẽ được đánh giá rất cao!
&&
hoặc||
.