2013-09-27 45 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文件名和路径字符串

相关问题