Chinaunix首页 | 论坛 | 博客
  • 博客访问: 442639
  • 博文数量: 35
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 444
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-02 21:42
文章分类
文章存档

2009年(35)

我的朋友

分类: WINDOWS

2009-09-07 16:34:05

对于经常在edelivery上或其他地方下载资源的我来说,经常需要验证下载的文件是否正确,通常只能一个一个的取得文件的md5值,然后再与官方给的md5值对比,若文件很多的话会很累,所以取巧用批处理写了批量检查的东西,使用很见到,首先将官方的md5值放在MD5_check.txt文件中(可以累积很多的md5值,以后只管查询就是了)。然后将下面的代码放在MD5.BAT文件中,双击运行就可以了。

         不过有一点,我是利用openssl来检查md5值的,所以你必须要有openssl for windows的文件,可以在 下载,解压到某一目录即可,比如我解压到 E:\openssl

代码如下:

@echo off

title MD5值检查器

echo ---------------------------检查MD5值是否匹配------------------

ECHO.

IF NOT EXIST check_ok_temp (md check_ok_temp)

echo ok>check_ok_temp\MD5_check.txt

echo ok>check_ok_temp\MD5.BAT

echo ok>check_ok_temp\check_ok_temp

FOR /F %%A IN ('dir/b') do (

IF NOT %%A==MD5.BAT (

IF NOT %%A==MD5_check.txt (

IF NOT %%A==check_ok_temp (

echo 正在检查: %%A

FOR /F "tokens=2" %%I IN ('E:\openssl\openssl.exe dgst -md5 %%A') DO (

FOR /F %%N IN (MD5_check.txt) DO (

IF /I %%I==%%N (echo ---------------------------------------------------------ok

echo ok>check_ok_temp\%%A

)

)

)))))

echo.

echo.

echo.

ECHO 如下文件检查失败!

FOR /F %%w IN ('dir/b') do (

IF NOT EXIST check_ok_temp\%%w (

echo %%w

FOR /F "tokens=2" %%z IN ('E:\openssl\openssl.exe dgst -md5 %%w') do (

echo MD5值为:%%z

)

)

)

pause

rd /q /s check_ok_temp

 

效果图如下:

http://blogimg.chinaunix.net/blog/upfile2/090907163328.jpg

阅读(4516) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~