@echo offset argv=%1set argv|findstr =>nulif %errorlevel% equ 0 (goto %1) else (cls):: trionse produce it in 2005-2-27 with win2000pro.:: some rights reserved. (c) 2005-2006set ver=ver2.1title EXE ^& DLL文件检测分析(%ver%)set filename=%0set load=%SystemRoot%echo.echo.echo.echo EXE ^& DLL文件检测分析(%ver%)echo.echo triones 2006-6-10echo.:topecho.echo.echo.echo 请选择你想要加入的参数..echo +-------------------------------+echo + 1. windows 2. 指定路径 +echo + 3. 删除命令 4. 帮助信息 +echo + 5. 备份命令 0. 退出程序 +echo +-------------------------------+echo.echo.set pno=1set /p pno=clsif %pno% gtr 5 goto onerrorspnoclsgoto step%pno%:step1pushd %systemroot%set load=%systemroot%:step1_1echo 分析中...call %filename% checkexistcall %filename% dodirecho 对%load%分析结果如下:echo.call %filename% fcfile exeFOR /F "eol=; tokens=1 delims==" %%i in (exedll.txt) do call %filename% filename "%%i" exe:exenextcall %filename% fcfile dllFOR /F "eol=; tokens=1 delims==" %%i in (exedll.txt) do call %filename% filename "%%i" dll:dllnextecho.set pno=1set /p pno=(1:默认exit/0:追踪异常/其它:返回):clsecho 对异常文件进行追踪...if %pno% equ 0 (call %filename% pursue)call %filename% cleanif %pno% equ 1 (exit)popdpause>nulclsgoto top:step2set /p load=请指定路径(当前路径为%load%):clspushd %load%cd cd %load%goto step1_1:step3set /p load=请指定路径(当前路径为%load%):echo.pushd %load%if exist exe.txt (del exe.txt /F /Q&echo %load%exe.txt已删除。)if exist dll.txt (del dll.txt /F /Q&echo %load%dll.txt已删除。)echo 命令完成。popdgoto top:step4echo.echo EXE ^& DLL文件检测分析(帮助)echo.echo.echo 1.在指定文件夹下生成exe.txt与dll.txt文件以保存该文件夹下的EXE及DLL信息。echo 2.对比时生成临时文件exe0.txt与dll0.txt与原文件信息对比并显示对比报告。echo.echo 功能介绍echo.echo 功能1:windows ,对windows下的文件信息进行保存对比。(默认选项)echo 功能2:指定路径,根据指定路径,对其下文件信息进行保存对比。echo 功能3:删除文件,删除指定路径下由本程序保存的文件信息。echo 功能4:帮助信息,显示本帮助信息echo 功能5:备份信息,对文件信息进行备份。echo 功能0:退出程序。echo.echo 任意键退出...pause >nulclsgoto top:step5echo 备份指定EXE^&DLL信息文件...set load0=%load%set /p load0=请指定源路径(当前路径为%load0%):set load1=D:ackupset /p load1=请指定备份路径(默认路径为%load1%):set pno2=0set /p pno2=是否删除源路径文件(1:删除/0:缺省不删除):echo.echo 将%load0%下文件信息以前缀%filename%备份在%load1%...if exist %load0%exe.txt (copy %load0%exe.txt %load1%) else (echo 不存在exe.txt)if exist %load0%dll.txt (copy %load0%dll.txt %load1%) else (echo 不存在dll.txt)if %pno2% equ 1 (del %load0%exe.txt /F /Q&del %load0%dll.txt /F /Q)pause >nulgoto top:onerrorspnoecho 输入有误..goto top:step0exit:filenamefindstr /C:%2 %3.txt>nulif %errorlevel% equ 1 (echo %2&echo %2>>%30.txt)goto theend:checkexistif not exist exe.txt (echo 您的%load%下无原保存分析exe文件,正在创建...&dir /A h s /S *.exe>exe.txt)if not exist dll.txt (echo 您的%load%下无原保存分析dll文件,正在创建...&dir /A h s /S *.dll>dll.txt)goto theend:dodirdir /A h s /S *.exe>exe0.txtdir /A h s /S *.dll>dll0.txtgoto theend:fcfilefc %2.txt %20.txt|findstr /I /C:".%2" >exedll.txtif %errorlevel% equ 1 (echo --%2无异常&set %2flag=1&goto %2next)echo.echo %2出现异常--del %20.txtset %2flag=0goto theend:cleandel exe0.txtdel dll0.txtdel exedll.txtgoto theend:pursueecho.if %exeflag%==1 (echo EXE无异常无法追踪&goto purnext)FOR /F "eol=; tokens=1 delims= " %%i in (exe0.txt) do (FOR /F "eol=; tokens=4 delims= " %%j in ("%%~i") do echo %%~ftzaj):purnextecho.if %dllflag%==1 (echo DLL无异常无法追踪&goto purend)FOR /F "eol=; tokens=1 delims= " %%i in (dll0.txt) do (FOR /F "eol=; tokens=4 delims= " %%j in ("%%~i") do echo %%~ftzaj):purendecho.echo 任务结束goto theend:theend