标题: [文件操作] [已解决]批处理怎样检测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
原批处理内容是。。这个- @echo off
- del D:\sysset\menu\x.txt
- 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
- for /F %%c in (D:\sysset\menu\servermd5.txt) do findstr /s /B /c:"%%c" "D:\sysset\menu\x.txt" ||goto _error
-
- exit
- :_error
- echo 系统核心文件被修改,该机器可能已经染病毒,请联系网管!!! 该机器60秒内将关机!!
- shutdown -f -s -t 60
- 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
还是按你最开始的需求来吧。- @echo off
- if exist mm1.txt del mm1.txt
- md5 d:\ghost\sysbak.gho>>mm1.txt
- for /f "tokens=1" %%i in (mm1.txt) do set mdtemp=%%i
- for /f "tokens=1" %%j in (d:\ghost\md5.txt) do set mdtemp2=%%j
- if %mdtemp%==%mdtemp2% start cmd.exe&exit
- start calc.exe
复制代码
md5放在同一目录下。
作者: Commander 时间: 2011-4-29 22:21
- @echo off
- for /f %%a in (list.txt) do (
- for /f %%b in ('md5.exe -n "%%a"') do (
- findstr "%%b" servermd5.txt || start calc.exe
- )
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |