批处理判断进程是否存在并后台执行

tlsoft 2020-5-23 503


由于一些原因软件老是莫名退出,因此写了个脚本

需求:

1:判断该进程是否存在

2:如果存在隔一段时间再判断

3:如果不存在启动该进程。

代码如下

@echo off

setlocal enabledelayedexpansion 

set p=no

set process=

set process_path=

:1

for /F "tokens=1*" %%a in ('tasklist /nh /fi "imagename eq %process%"') do if %%a == %process% set p=yes

if %hasit% == yes (

rem echo %process%存在

ping 127.1 -n 60 >nul 2>nul

set p=no

goto 1

) else (

if %hasit% == no (

echo %process%不存在 重新启动时间%date%%time%>>start_process.log

start %process_path%

ping 127.1 -n 60 >nul 2>nul

goto 1

后台执行vbs代码如下

Set ws = CreateObject("Wscript.Shell")

ws.run "cmd /c 你要执行的程序名称",vbhide

说明

set process=程序进程名

set process_path=要启动程序的路径

想要后台直接执行vbs代码就行

间隔是60s检测一次。

执行后vbs后可在任务管理器进程结束

————————————————

版权声明:本文为CSDN博主「暖壶里的水」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_19645105/java/article/details/85125028



最新回复 (0)
返回
发新帖