Tôi đang cố gắng tự động hóa chương trình mà tôi đã thực hiện với bộ thử nghiệm qua tệp .cmd..cmd và .bat mã chuyển đổi mã trả về thành thông báo lỗi
Tôi có thể lấy chương trình mà mã trả về của tôi chạy qua% errorlevel%.
Chương trình của tôi có mã trả về nhất định cho từng loại lỗi.
Ví dụ:
1 - phương tiện không cho như vậy và như vậy một lý do
2 - phương tiện thất bại vì một lý do khác
...
echo FAILED: Kiểm tra trường hợp thất bại , mức lỗi:% errorlevel% >> TestSuite1Log.txt
Thay vào đó tôi muốn bằng cách nào đó nói:
echo FAILED: Trường hợp kiểm tra không thành công, lỗi lý do: lookupError (% errorlevel%) >> TestSuite1Log.txt
Có thể với tệp .bat này không? Hay tôi phải chuyển sang một ngôn ngữ kịch bản như python/perl?
Tôi thích sự đơn giản của điều đó, câu trả lời của tôi trở lại từ những ngày trước DOS. Khi nào tùy chọn ENABLEDELAYEDEXPANSION được thêm? –
Ồ, một điều cần lưu ý, lệnh "setlocal" được hiển thị ở trên sẽ ghi đè ERRORLEVEL. Hãy chắc chắn rằng setlocal được gọi trước khi lệnh đặt errorlevel (tập tin batch ở trên đối phó với điều này). –
Tôi không biết khi nào nó được thêm vào không may. Tôi biết nó có sẵn trong XP và 2003 Server như tôi đã viết kịch bản bằng cách sử dụng nó chạy trên những nền tảng. Không chắc chắn các phiên bản trước đó của cửa sổ nó hoạt động trên. –