2013-08-29 69 views
6

Tôi đã chuyển đổi chương trình MATLAB thành một exe độc ​​lập. Khi tôi gọi exe từ dòng lệnh nó không đợi cho đến khi lệnh exe được thực thi. Chương trình mất khoảng 20-30 giây để chạy. Chương trình về cơ bản tạo một tệp txt. Làm thế nào tôi có thể làm cho nó chờ đợi cho đến khi exe được thực hiện. Chức năng chính của tôi là matlabDòng lệnh không đợi cho đến khi quá trình thực thi exe kết thúc

function []=features(img_path,category,output_path) 
if (strcmp('shoe',category)== 1) 
    if exist(img_path,'file') 
    test_shoes(img_path,output_path);    
    else 
     disp ('Input image path does not exist'); 
    end  
else 
    disp('Sorry wrong input for category.Please give shoe/dress/handbag'); 

end 
return; 

Vấn đề được hiển thị trong hình dưới đây:

Các "Tất cả các cảnh báo có tình trạng 'tắt'." thực sự được hiển thị bởi exe từ MATLAB afer 5 giây nhưng thiết bị đầu cuối không đợi cho đến khi lệnh exe kết thúc thực thi tức là "E: \ test>" đã được hiển thị trong dòng tiếp theo ngay sau khi gọi exe.

Làm cách nào để lệnh chờ đợi cho đến khi hệ điều hành exe thực hiện xong để dòng lệnh mới không xuất hiện cho đến khi kết thúc?

Trả lời

22

Bạn có thể cố gắng chạy nó như thế này:

START/WAIT MyProgramm.exe

hãy xem ở đây:

how-do-you-wait-for-an-exe-to-complete-in-batch-file

+0

là có cách nào tôi có thể encorporate cái gì đó trong mã chính nó để tôi không nên gõ START/WAIT mỗi khi tôi gọi exe? – user1583647

+2

Bạn có thể sử dụng tệp Batch! –