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

版权声明:本文为博主原创文章,仅代博主个人观点,未经博主允许不得转载。 https://blog.csdn.net/qq_19645105/article/details/85125028

由于一些原因软件老是莫名退出,因此写了个脚本
需求:
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后可在任务管理器进程结束

在这里插入图片描述
在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页