主頁 > 知識庫 > DOS中判斷進程是否存在的方法

DOS中判斷進程是否存在的方法

熱門標簽:江蘇辦理400電話是免費的嗎 地圖標注顯示小區(qū) 江蘇手機外呼系統(tǒng)供應商 南京機器人外呼系統(tǒng)多少錢 紹興400電話怎么辦理 福建防封電銷卡辦理套餐 沙依巴克工廠地圖標注 征服者博物館地圖標注點 滄州外呼增值業(yè)務線路解決方案

檢測進程是否存在,并做出預定動作。

tasklist /nh>d:\tddown~1\1.txt

find /i "QQ.exe" d:\tddown~1\1.txt
if ERRORLEVEL 1 (echo qq.exe不存在) else (echo qq.ex存在)
------------第二個-----------
tasklist /nh|find /i "QQa.exe"
if ERRORLEVEL 1 (echo qqa.exe不存在) else (echo qqa.exe存在)


檢查電腦里有沒QQ.EXE進程,有則自動結束

a)、先用tasklist 輸入進程列表給find ,讓find找出qq.exe進程,如果找到,那執(zhí)行下面的結束操作,找不到就退出bat

@echo off
tasklist|find /i "qq.exe" ||exit
taskkill /im qq.exe /f

b)、把進程列表放在A文檔里面然后再用FIND查找代碼:

@echo off
tasklist>C:\a.txt
find "QQ.exe" C:\a.txttaskkill /f /im "QQ.exe"

c)、如果不是要循環(huán)監(jiān)控的話,直接taskkill。。。反正最終目的是不要有QQ進程。


每隔20秒自動檢測進程列表,自動關閉notepad.exe。

@echo off
:1
tasklist | find "notepad.exe" >>c:\notepad.luowei
if exist c:\notepad.luowei taskkill /f /im notepad.exe
ping 127.1 -n 20 >nul 2>nul
goto 1


檢測explorer.exe進程

檢測explorer.exe進程,發(fā)現(xiàn)有這個進程就退出,沒有就從E盤復制一個到系統(tǒng)目錄,再運行。
我系統(tǒng)經常進不去,發(fā)現(xiàn)就是被病毒發(fā)explorer.exe文件刪了。

tasklist|find /i "explorer.exe"||copy /y e:\drivers\explorer.exe %systemroot%\start /b explorer.exe


每30秒檢測一個進程的運行,如果不存在電腦重啟。

@echo off
rem 重啟應該使用-r
tasklist|findstr /i "explorer.exe" ||shutdown -r -t 50
rem willsort斑竹說過,ping的第一條消息是不需要等待的,所以延時30秒,應該用-n 31
ping 127.1 -n 31 >nul 2>nul
rem 不必使用循環(huán),call一下自己就行了
call %0


檢測系統(tǒng)的一個進程是否存在的腳本, 如果不存在,就自動關機.

tasklist >tasklist.txt
rem 進程名如 smss.exe
find /i tasklist.txt "進程名"
if errorlevel 1 ((del /q tasklist.txt)(goto end))
if errorlevel 0 ((del /q tasklist.txt)(echo 有你想要的進程)pauseexit)
:end
shutdown -s -t 1

不過這樣只有這個bat運行一次檢測一次,沒有實時監(jiān)控

用Goto 語句做 監(jiān)測

:start
tasklist >tasklist.txt
find /i tasklist.txt "Explorer.exe"
if errorlevel 1 ((del /q tasklist.txt)(goto end))
if errorlevel 0 ((goto start))
:end
shutdown -s -t 50

這樣一來 如果Explorer.exe 進程,存在, 就是死循環(huán).
直到 Explorer.exe 進程結束, 就執(zhí)行 關機命令.
但這樣有個缺點 CPU 100%


檢測多個特定進程

我想實現(xiàn)這樣一個功能:用tasklist列出當前進程清單,然后用find來搜索進程中是否含有1.exe,2.exe,3.exe......(假設?。┤绻鍐沃泻衅渲幸粋€就執(zhí)行某個操作。我想用FOR來實現(xiàn)循環(huán)可是怎么試也不行?。?!我是這樣試的:
tasklist | for %%j in (1.exe,2.exe,3.exe) do find "%%j"  goto :p
find是不是不能用for啊?請高人指點。
---------
tasklist | findstr "1.exe 2.exe 3.exe"goto :p
for不會接受傳遞自tasklist的數(shù)據(jù),它是打in來定義的
---------
@echo off
set 1.exe=被定義的程序
set 2.exe=被定義的程序
set 3.exe=被定義的程序


for /f "tokens=1" %%i in ('tasklist /NH') do (
if defined %%i echo %%i
)
pause>nul
---------


檢測和退出進程問題

A?。隆蛇M程存在,若A不存在,則退出B。每隔N秒循環(huán)檢測一次,退出B后,退出程序

tasklist|findstr /i "A.exe" ||(taskkill /im B.exe /t /fexit)

列出當前運行的進程,可自定義說明內容,手動關閉進程。
可改良后自動判斷處理進程。
 

@echo off
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\HPQ\IAM\bin
title 進程分析自定義結束進程程序
echo 按任意鍵開始分析
pause>nul
set space=
echo.
echo 程序分析如下:
echo =========================================================================
echo.
echo 進程名稱 進程說明
echo.
call tasklist.exe

::以下定義程序說明,自己可以補充。
set System=『系統(tǒng)進程』
set smss.exe=『系統(tǒng)進程』調用對話管理子系統(tǒng)和負責操作你系統(tǒng)的對話
set csrss.exe=『系統(tǒng)進程』管理Windows圖形相關任務
set winlogon.exe=『系統(tǒng)進程』
set services.exe=『系統(tǒng)進程』管理啟動和停止服務
set lsass.exe=『系統(tǒng)進程』用于本地安全和登陸策略
set svchost.exe=『系統(tǒng)進程』用來運行動態(tài)鏈接庫dll文件
set ctfmon.exe=·提供語音識別、手寫識別等
set conime.exe=·輸入法編輯器相關程序

::主程序
setlocal enabledelayedexpansion
for /f "tokens=1" %%i in ('tasklist /NH') do (
set str=%%i %space%
set str=!str:~0,20!
if defined %%i (echo !str! !%%i!) else echo !str! ‖根據(jù)進程自已輸進程名)
echo =========================================================================
echo 分析完畢...
:goto title
title 結束進程
set /p run=請輸入要結束的程序名
::ntsd -c q -pn %run%
taskkill /f /t /im %run%
pause>nul 先分析PID和進程。然后自定義結束


--------------------------------------------------------------------------------


當使用 echo 命令時,要顯示管道 (|) 或重定向字符( 或 >),請在管道 (|) 或重定向字符(例如,^>、^ 或 ^|)的前面使用脫字符 (^)。如果需要使用脫字符 (^),請鍵入兩個脫字符 (^^)。

||

Usage:
第一條命令 || 第二條命令 [|| 第三條命令...]

用這種方法可以同時執(zhí)行多條命令,當碰到執(zhí)行正確的命令后將不執(zhí)行后面的命令,如果沒有出現(xiàn)正確的命令則一直執(zhí)行完所有命令;

Sample:

D:\TDDownload>dir *.txt||ren 1.txt 3.txtdir *.txt
驅動器 D 中的卷是 Application
卷的序列號是 B445-F155

D:\TDDownload 的目錄

2008-01-26 15:35 229 1.txt
2008-01-26 15:35 229 2.txt
2008-01-26 15:35 229 第三只眼.txt
3 個文件 687 字節(jié)
0 個目錄 7,510,728,704 可用字節(jié)

D:\TDDownload>dir 3.txt||ren 1.txt 3.txtdir *.txt
驅動器 D 中的卷是 Application
卷的序列號是 B445-F155

D:\TDDownload 的目錄

找不到文件
驅動器 D 中的卷是 Application
卷的序列號是 B445-F155

D:\TDDownload 的目錄

2008-01-26 15:35 229 2.txt
2008-01-26 15:35 229 3.txt
2008-01-26 15:35 229 第三只眼.txt
3 個文件 687 字節(jié)
0 個目錄 7,510,728,704 可用字節(jié)

D:\TDDownload> 

您可能感興趣的文章:
  • windows服務器維護經驗小結(rsync,serv_u)
  • VBS進程判斷代碼

標簽:吳忠 烏魯木齊 巴中 湘西 香港 小程序 宜賓 陽泉

巨人網絡通訊聲明:本文標題《DOS中判斷進程是否存在的方法》,本文關鍵詞  DOS,中,判斷,進程,是否,存,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《DOS中判斷進程是否存在的方法》相關的同類信息!
  • 本頁收集關于DOS中判斷進程是否存在的方法的相關信息資訊供網民參考!
  • 推薦文章