Board logo

标题: 如何调用配置文件分析进程 [打印本页]

作者: luckboy45     时间: 2007-6-23 18:50    标题: 如何调用配置文件分析进程

我有一段进程分析程序的代码,无法实现用.INI文件调用,希望各位帮忙完善下!~

:saomiao
cls
@echo off
set space=                       
echo.
echo 程序分析如下:
echo =========================================================================
echo.
echo 进程名称              进程说明
echo.
call tasklist.exe

::以下定义程序说明,自己可以补充。
set System=『系统进程』
set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话
set csrss.exe=『系统进程』管理Windows图形相关任务
set winlogon.exe=『系统进程』
set services.exe=『系统进程』管理启动和停止服务
set lsass.exe=『系统进程』用于本地安全和登陆策略
set svchost.exe=『系统进程』用来运行动态链接库dll文件
set CCenter.exe=·瑞星信息中心
set RavMonD.exe=·瑞星监控程序
set rfwsrv.exe=·瑞星个人防火墙相关程序
set spoolsv.exe=『系统进程』打印服务
set RavStub.exe=·瑞星杀毒软件相关程序
set wdfmgr.exe=·MP10播放器的相关程序
set explorer.exe=·负责显示系统桌面的图标,任务栏等
set RfwMain.exe=·瑞星防火墙主程序
set RavTask.exe=·瑞星定时杀毒程序
set RavMon.exe=·瑞星监控程序
set SOUNDMAN.EXE=·Realtek声卡相关程序
set realsched.exe=·RealPlayer自动升级程序
set ctfmon.exe=·提供语音识别、手写识别等
set conime.exe=·输入法编辑器相关程序
set wmiprvse.exe=·WINAMP播放器相关程序
set iexplore.exe=·IE浏览器程序--如果在没开IE的情况下出现则中了病毒
set cmd.exe=·正在运行的批处理程序
set tasklist.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! ‖→未定义程序) >>loge.txt
echo =========================================================================
@echo       ************************************************************
@echo       #                                                          #
@echo       #               进程分析完毕!                      #
@echo       #                                                          #
@echo       ************************************************************
@start loge.txt




::以下定义程序说明,自己可以补充。
set System=『系统进程』
set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话
set csrss.exe=『系统进程』管理Windows图形相关任务
set winlogon.exe=『系统进程』
set services.exe=『系统进程』管理启动和停止服务
set lsass.exe=『系统进程』用于本地安全和登陆策略
set svchost.exe=『系统进程』用来运行动态链接库dll文件
set CCenter.exe=·瑞星信息中心
set RavMonD.exe=·瑞星监控程序
set rfwsrv.exe=·瑞星个人防火墙相关程序
set spoolsv.exe=『系统进程』打印服务
set RavStub.exe=·瑞星杀毒软件相关程序
set wdfmgr.exe=·MP10播放器的相关程序
set explorer.exe=·负责显示系统桌面的图标,任务栏等
set RfwMain.exe=·瑞星防火墙主程序
set RavTask.exe=·瑞星定时杀毒程序
set RavMon.exe=·瑞星监控程序
set SOUNDMAN.EXE=·Realtek声卡相关程序
set realsched.exe=·RealPlayer自动升级程序
set ctfmon.exe=·提供语音识别、手写识别等
set conime.exe=·输入法编辑器相关程序
set wmiprvse.exe=·WINAMP播放器相关程序
set iexplore.exe=·IE浏览器程序--如果在没开IE的情况下出现则中了病毒
set cmd.exe=·正在运行的批处理程序
set tasklist.exe=·本程序调用的相关命令行工具
这段代码我想把它放到JINCHENG.INI里面调用,但没能实现,希望各位能帮忙实现下!~先谢谢各位了!~

[ Last edited by bjsh on 2007-7-31 at 12:41 PM ]
作者: luckboy45     时间: 2007-6-24 18:01
没人知道怎么搞吗?或者是不屑?自己顶一下吧!~
作者: slore     时间: 2007-6-24 18:16
Scan.bat:

  Quote:
cls
@echo off
set space=                       
echo.
echo 程序分析如下:
echo =========================================================================
echo.
echo 进程名称              进程说明
echo.
call tasklist.exe
::读取配置
for /f "delims=" %%i in (taskname.ini) do Set %%i
::主程序
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! ‖→未定义程序) >>loge.txt
echo =========================================================================
@echo       ************************************************************
@echo       #                                                          #
@echo       #               进程分析完毕!                      #
@echo       #                                                          #
@echo       ************************************************************
@start loge.txt
pause>nul

taskname.ini:
System=『系统进程』
smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话
csrss.exe=『系统进程』管理Windows图形相关任务
winlogon.exe=『系统进程』
services.exe=『系统进程』管理启动和停止服务
lsass.exe=『系统进程』用于本地安全和登陆策略
svchost.exe=『系统进程』用来运行动态链接库dll文件
CCenter.exe=·瑞星信息中心
RavMonD.exe=·瑞星监控程序
rfwsrv.exe=·瑞星个人防火墙相关程序
spoolsv.exe=『系统进程』打印服务
RavStub.exe=·瑞星杀毒软件相关程序
wdfmgr.exe=·MP10播放器的相关程序
explorer.exe=·负责显示系统桌面的图标,任务栏等
RfwMain.exe=·瑞星防火墙主程序
RavTask.exe=·瑞星定时杀毒程序
RavMon.exe=·瑞星监控程序
SOUNDMAN.EXE=·Realtek声卡相关程序
realsched.exe=·RealPlayer自动升级程序
ctfmon.exe=·提供语音识别、手写识别等
conime.exe=·输入法编辑器相关程序
wmiprvse.exe=·WINAMP播放器相关程序
iexplore.exe=·IE浏览器程序--如果在没开IE的情况下出现则中了病毒
cmd.exe=·正在运行的批处理程序
TM.exe=·Tencent Messenger即时聊天软件
tasklist.exe=·本程序调用的相关命令行工具

作者: lxmxn     时间: 2007-6-24 18:30
我也来玩一下 ^_^


processlist.ini

  Quote:
;此配置文件是关于进程说明的资料,需要自己手动添加
;配置格式如下: set <进程名>=<说明文字>
;以下是配置信息:

set System=『系统进程』
set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话
set csrss.exe=『系统进程』管理Windows图形相关任务
set winlogon.exe=『系统进程』
set services.exe=『系统进程』管理启动和停止服务
set lsass.exe=『系统进程』用于本地安全和登陆策略
set svchost.exe=『系统进程』用来运行动态链接库dll文件
set CCenter.exe=·瑞星信息中心
set RavMonD.exe=·瑞星监控程序
set rfwsrv.exe=·瑞星个人防火墙相关程序
set spoolsv.exe=『系统进程』打印服务
set RavStub.exe=·瑞星杀毒软件相关程序
set wdfmgr.exe=·MP10播放器的相关程序
set explorer.exe=·负责显示系统桌面的图标,任务栏等
set RfwMain.exe=·瑞星防火墙主程序
set RavTask.exe=·瑞星定时杀毒程序
set RavMon.exe=·瑞星监控程序
set SOUNDMAN.EXE=·Realtek声卡相关程序
set realsched.exe=·RealPlayer自动升级程序
set ctfmon.exe=·提供语音识别、手写识别等
set conime.exe=·输入法编辑器相关程序
set wmiprvse.exe=·WINAMP播放器相关程序
set iexplore.exe=·IE浏览器程序--如果在没开IE的情况下出现则中了病毒
set cmd.exe=·正在运行的批处理程序
set tasklist.exe=·本程序调用的相关命令行工具

GetProcess.bat
@Echo off&SetLocal EnableDelayedExpansion

::对进程变量进行赋值
for /F "eol=; delims=" %%a in (processlist.ini) do %%a

for /F "tokens=1" %%a in (' tasklist /nh ') do (
        set _=%%a                                         
        if defined %%a (call echo\!_:~0,20! ----- !%%a!) else (call echo\!_:~0,20! ----- 未知进程)
)
pause
[ Last edited by lxmxn on 2007-6-24 at 06:31 PM ]
作者: lxmxn     时间: 2007-6-24 18:43    标题: 再改进一点

忽略对System IDle System的分析,获得 ProcessID 。
@Echo off&SetLocal EnableDelayedExpansion

::对进程变量进行赋值
for /F "eol=; delims=" %%a in (processlist.ini) do %%a

echo 进程名称             进程ID  进程说明
for /F "tokens=1,2" %%a in ('tasklist/nh^|more,+2') do (
        set _=%%a                                         
        set __=%%b            
        if defined %%a (call echo\!_:~0,20! !__:~0,8!!%%a!) else (call echo\!_:~0,20! !__:~0,8!未知进程)
)
pause
[ Last edited by lxmxn on 2007-6-24 at 06:44 PM ]