2013-09-27 80 views

回答

5

只需刪除startMat.exe之前,所以你的批處理文件將等到Mat.exe已完成。

編輯:這隻適用於您的Mat.exe在控制檯或類似環境中運行。 如果丟失start不起作用,您可能需要檢查是否存在Mat.exe仍在運行。爲此,我發現了一個非常有用的帖子,這應該爲你工作:How to wait for a process to terminate to execute another process in batch file

EDIT2:完整代碼:

@echo off 
:LOOP 
start Mat.exe 
TASKLIST 2>&1 | find "Mat.exe" > nul 
IF ERRORLEVEL 1 (
    rundll32.exe user32.dll, LockWorkStation 
) ELSE (
    SLEEP 3 
    GOTO LOOP 
) 

可以調整SLEEP只要你喜歡,但我建議至少使用1秒,否則你將有100%的使用率。

+1

沒有幫助不包括(」「)所有,我需要運行一個OpenGL exe文件,我製作。我需要儘快鎖定我的電腦。如果我不使用「start」命令,我怎麼才能啓動exe文件? – Legolas

+0

只需輸入一個有效的文件名就足以啓動一個程序,啓動命令會打開一個新窗口來運行該程序,因此批處理文件不會阻止它的執行。 – Chris

+0

+1答案是有效的,準確的和有幫助的。 – foxidrive

1

嘗試使用啓動命令和/等待開關。這裏有一個例子:

@echo off 
REM //start Mat.exe 
start /wait [path of Mat.exe] 
rundll32.exe user32.dll, LockWorkStation 

記住使用8.3文件名和路徑字符串

相關問題