我有一个类似的批处理文件程序。
@echo off
start Mat.exe
>>Need a code here to runand check for termination of "Mat.exe"
rundll32.exe user32.dll, LockWorkStation
>>end of program
如果有人可以帮助我设置程序,以便我可以在“Mat.exe”文件终止后立即锁定我的计算机。我真的很感激。提前致谢
我有一个类似的批处理文件程序。
@echo off
start Mat.exe
>>Need a code here to runand check for termination of "Mat.exe"
rundll32.exe user32.dll, LockWorkStation
>>end of program
如果有人可以帮助我设置程序,以便我可以在“Mat.exe”文件终止后立即锁定我的计算机。我真的很感激。提前致谢
只需删除start
之前的,Mat.exe
这样您的批处理文件就会等到Mat.exe
完成。
编辑:这仅在您Mat.exe
在控制台或类似设备中运行时才有效。如果丢弃start
不起作用,您可能必须检查Mat.exe
是否仍在运行。为此,我发现了一篇非常有用的帖子,它应该对您有用:如何等待进程终止以在批处理文件中执行另一个进程
编辑2:完整代码:
@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% 的使用率。
尝试使用带有 /Wait 开关的 Start 命令。这是一个例子:
@echo off
REM //start Mat.exe
start /wait [path of Mat.exe]
rundll32.exe user32.dll, LockWorkStation
请记住使用 8.3 文件名,并且不要在路径字符串中包含 (" ")