使用批处理脚本检查exe是否打开并循环关闭

时间:2014-02-24 13:29:33

标签: batch-file

我有一个由我使用的程序创建的批处理脚本,它运行一个作业。我现在需要把它包起来,我需要检查的一件事是程序是否已经打开。如果是,而不是关闭它,我需要循环,重新检查,直到它自动关闭。然后我可以进入脚本的下一部分。我已经找到了如何检查开放,但无法解决如何添加额外的内容。任何想法?

1 个答案:

答案 0 :(得分:0)

这应该这样做:

@echo off
setlocal enabledelayedexpansion

For /f %%a in ('copy /Z "%~dpf0" nul') Do set "CR=%%a"

:FindAgain
set prog=Winword.exe
for /f %%a in ('tasklist /FI "Imagename eq %prog%"^|Find /i "%prog%"') do (
  set /a cnt+=1
  if not errorlevel 1 set /P"=%prog% is running !cnt!!CR!"<NUL:
  ping -n 2 127.0.0.1>nul
  goto :FindAgain)
echo %prog% closed continuing..