檢測程序是否存在,並做出預定動作。
tasklist /nh>d:tddown~1
find /i "" d:tddown~1
if ERRORLEVEL 1 (echo 不存在) else (echo 存在)
------------第二個-----------
tasklist /nh|find /i ""
if ERRORLEVEL 1 (echo 不存在) else (echo 存在)
檢查電腦裡有沒程序,有則自動結束
a)、先用tasklist 輸入程序列表給find ,讓find找出程序,如果找到,那執行下面的結束操作,找不到就退出bat
@echo off
tasklist|find /i "" ||exit
taskkill /im /f
b)、把程序列表放在A文件裡面然後再用FIND查詢程式碼:
@echo off
tasklist>C:
find "" C:&&taskkill /f /im ""
c)、如果不是要迴圈監控的話,直接taskkill。。。反正最終目的是不要有QQ程序。
每隔20秒自動檢測程序列表,自動關閉。
@echo off
:1
tasklist | find "" >>c:ei
if exist c:ei taskkill /f /im
ping 127.1 -n 20 >nul 2>nul
goto 1
檢測程序
檢測程序,發現有這個程序就退出,沒有就從E盤複製一個到系統目錄,再執行。
我係統經常進不去,發現就是被病毒發文件刪了。
tasklist|find /i ""||copy /y e:drivers %systemroot%&&start /b
每30秒檢測一個程序的執行,如果不存在電腦重啟。
@echo off
rem 重啟應該使用-r
tasklist|findstr /i "" ||shutdown -r -t 50
rem willsort斑竹說過,ping的第一條訊息是不需要等待的,所以延時30秒,應該用-n 31
ping 127.1 -n 31 >nul 2>nul
rem 不必使用迴圈,call一下自己就行了
call %0
檢測系統的一個程序是否存在的指令碼, 如果不存在,就自動關機.
tasklist >
rem 程序名如
find /i "程序名"
if errorlevel 1 ((del /q )&(goto end))
if errorlevel 0 ((del /q )&(echo 有你想要的程序)&pause&exit)
:end
shutdown -s -t 1
不過這樣只有這個bat執行一次檢測一次,沒有實時監控
用Goto 語句做 監測
:start
tasklist >
find /i ""
if errorlevel 1 ((del /q )&(goto end))
if errorlevel 0 ((goto start))
:end
shutdown -s -t 50
這樣一來 如果 程序,存在, 就是死迴圈.
直到 程序結束, 就執行 關機命令.
但這樣有個缺點 CPU 100%
檢測多個特定程序
我想實現這樣一個功能:用tasklist列出當前程序清單,然後用find來搜尋程序中是否含有,,......(假設啊)如果清單中含有其中一個就執行某個操作。我想用FOR來實現迴圈可是怎麼試也不行啊!!我是這樣試的:
tasklist | for %%j in (,,) do find "%%j" && goto :p
find是不是不能用for啊?請高人指點。
---------
tasklist | findstr " "&&goto :p
for不會接受傳遞自tasklist的資料,它是打in來定義的
---------
@echo off
set =被定義的程式
set =被定義的程式
set =被定義的程式
for /f "tokens=1" %%i in ('tasklist /NH') do (
if defined %%i echo %%i
)
pause>nul
---------
檢測和退出程序問題
A B 兩程序存在,若A不存在,則退出B。每隔N秒迴圈檢測一次,退出B後,退出程式
tasklist|findstr /i "" ||(taskkill /im /t /f&exit)
列出當前執行的.程序,可自定義說明內容,手動關閉程序。
可改良後自動判斷處理程序。
@echo off
PATH=C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesHPQIAMbin
title 程序分析自定義結束程序程式
echo 按任意鍵開始分析
pause>nul
set space=
echo.
echo 程式分析如下: