2013-08-29 4 views
6

Ich habe mein Matlab-Programm in eine eigenständige exe konvertiert. Wenn ich die exe von der Kommandozeile aus anrufe, wartet sie nicht, bis die exe ausgeführt wird. Das Programm benötigt ca. 20-30 Sekunden. Das Programm erstellt im Grunde eine TXT-Datei. Wie kann ich es schaffen, zu warten, bis die exe ausgeführt wird. Meine Matlab Hauptfunktion istDie Befehlszeile wartet nicht, bis die exe-Ausführung abgeschlossen ist.

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; 

Das Problem in dem Screenshot unten gezeigt wird: "Alle Warnungen haben den Zustand 'aus'"

Die wird tatsächlich von der EXE von MATLAB nach 5 Sekunden angezeigt, aber das Terminal wartet nicht, bis die exe beendet ist, d. h. "E: \ test>" wird bereits in der nächsten Zeile unmittelbar nach dem Aufruf der exe angezeigt.

Wie kann ich die Befehlszeile warten, bis die Ausführung der exe beendet ist, so dass die neue Befehlszeile nicht erscheint, bis sie fertig ist ??

Antwort

22

könnten Sie versuchen, es so zu laufen:

START/WARTEN MyProgramm.exe

hier einen Blick:

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

+0

ist es eine Möglichkeit, etwas in die encorporate kann Code selbst, so dass ich nicht jedes Mal START/WAIT tippen sollte, wenn ich die exe rufe? – user1583647

+2

Sie könnten eine Batch-Datei verwenden! –