帮写一个BAT脚本,“判断进程是否存在,并执行相对应操作的BAT脚本”

2025-03-01 06:22:56
推荐回答(2个)
回答1:

@echo off
:1
for /f %%i in ('tasklist') do (if /i "%%i"=="ntaskldr.exe" (echo 1>nul) else (taskkill /f /im DSMDaemon.exe>nul))
ping -n 6 127.0.0.1>nul
goto 1

回答2:

@ECHO OFF
:check ntaskldr.exe
tasklist >list.txt //将所有进程信息列入list.txt文件里面(这里默认当前目录)
find /i "ntaskldr.exe" list.txt //从list.txt文件里查找ntaskldr.exe这个进程
if "%errorlevel%"=="1" (goto f) else (goto e) //如果进程不存在,执行f处的代码;反之执行e处的代码
:f
taskkill /f /im DSMDaemon.exe //杀掉进程
:e
cls

:check cmd.exe //由于上面杀进程后会留下cmd.exe没有退出,并一起kill cmd.exe
tasklist >list2.txt
find /i "cmd.exe" list2.txt
if "%errorlevel%"=="1" (goto e)
:e
taskkill /f /im cmd.exe
:end
exit
另:
每隔5秒进行一次检测的,在系统的任务计划中设置定时启动