Board logo

标题: [文件操作] [已解决]批处理怎样检测MD5值,并做出相关的动作? [打印本页]

作者: qq3475534    时间: 2011-4-29 18:42     标题: [已解决]批处理怎样检测MD5值,并做出相关的动作?

请教个问题批处理MD5值检测,并做出相关的动作
就是检测d:\ghost\sysbak.gho 这个文件。当前目录下md5.txt里的数据值一样的时候执行一个动作。如start cmd.exe

当MD5值不一样的时候,执行另外个动作。例如start calc.exe

在易游官方看到了个帖子,但是自己改了下好象不行,特到论坛发帖求助



谢谢楼下的2位。问题解决了。
作者: Batcher    时间: 2011-4-29 20:52

你怎么改的?
作者: liaobiaoxing    时间: 2011-4-29 21:11

这个。。下载一个md5 for dos吧。。
下载之后是一个md5.exe

md5 d:\ghost\sysbak.gho>>temp.txt

然后用FOR /F命令获取赋值变量进行比较就OK了吧。
作者: qq3475534    时间: 2011-4-29 22:03

这个。。下载一个md5 for dos吧。。
下载之后是一个md5.exe

md5 d:\ghost\sysbak.gho>>temp.txt

然后用FOR /F命令获取赋值变量进行比较就OK了吧。
liaobiaoxing 发表于 2011-4-29 21:11



能够详细帮我写个批处理吗。多谢。。
作者: qq3475534    时间: 2011-4-29 22:06

你怎么改的?
Batcher 发表于 2011-4-29 20:52



原批处理内容是。。这个
  1. @echo off
  2. del D:\sysset\menu\x.txt
  3. for /f %%A in (D:\sysset\menu\list.txt) do for /f %%b in ('D:\sysset\menu\md5.exe -n "%%A"') do echo %%b >>D:\sysset\menu\x.txt
  4. for /F %%c in (D:\sysset\menu\servermd5.txt) do findstr /s /B /c:"%%c" "D:\sysset\menu\x.txt" ||goto _error
  5. exit
  6. :_error
  7. echo 系统核心文件被修改,该机器可能已经染病毒,请联系网管!!! 该机器60秒内将关机!!
  8. shutdown  -f -s -t 60
  9. pause
复制代码
list.txt内容是
C:\WINDOWS\system32\webcheck.dll
C:\WINDOWS\system32\d3d8.dll
C:\WINDOWS\system32\dsound.dll


servermd5.txt内容是

8EF94370FA71C84BDB7BD17831BBE255
500F386C016C334F898297EA52CA8733
A494C2E22412AA91EA176AF45F204A8B


然后还有个单独的文件md5.exe
作者: liaobiaoxing    时间: 2011-4-29 22:19

还是按你最开始的需求来吧。
  1. @echo off
  2. if exist mm1.txt del mm1.txt
  3. md5 d:\ghost\sysbak.gho>>mm1.txt
  4. for /f "tokens=1" %%i in (mm1.txt) do set mdtemp=%%i
  5. for /f "tokens=1" %%j in (d:\ghost\md5.txt) do set mdtemp2=%%j
  6. if %mdtemp%==%mdtemp2% start cmd.exe&exit
  7. start calc.exe
复制代码
md5放在同一目录下。
作者: Commander    时间: 2011-4-29 22:21

  1. @echo off
  2. for /f %%a in (list.txt) do (
  3.     for /f %%b in ('md5.exe -n "%%a"') do (
  4.         findstr "%%b" servermd5.txt || start calc.exe
  5.     )
  6. )
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2