Vì vậy, tôi đã thực hiện một chút công bằng của tập lệnh bash, nhưng rất ít tập lệnh theo lô trên Windows. Tôi đang cố gắng để kích hoạt một virtualenv python, chạy một kịch bản python, sau đó tắt virtualenv khi kịch bản thoát.lô tương đương với "nguồn" trên cửa sổ: cách chạy tập lệnh python từ virtualenv
Tôi đã có một thư mục có tên env, đó là virtualenv của tôi, và một thư mục có tên công việc, trong đó có chứa các kịch bản của tôi
Đây là những gì tôi đã có cho đến nay:
%~dp0env\Scripts\activate.bat
python %~dp0work\script.py
deactivate
Tuy nhiên , khi tôi chạy tập lệnh, nó kích hoạt virtualenv rồi dừng lại. Nó không đến dòng thứ hai và chạy tập lệnh Python. Có cách nào để "nguồn" thư mục kịch bản kích hoạt, để phần còn lại của kịch bản lô có thể được chạy như thể tôi gọi là activate.bat từ dòng lệnh?
Tôi sẽ thử điều này, nhưng điều này có vẻ giống như những gì tôi muốn. Cảm ơn! – jmite
@Nicola Nếu batch1.bat chứa 'batch2.bat' và' echo 1', và batch2.bat chứa 'echo 2', và tôi chạy batch1.bat, tôi thấy một shell mới mở, sau đó' 2', sau đó ' 1', vì vậy tôi không nghĩ rằng đây là vấn đề. – agf
Từ tài liệu lệnh "Gọi": "Gọi một chương trình lô từ chương trình khác mà không dừng chương trình hàng loạt gốc". (http://technet.microsoft.com/en-us/library/cc732835%28WS.10%29.aspx) –