当前位置:首页 > 百科大全

windows md5命令(windows平台获取文件MD5的脚本)

2022-12-02 18:11:21

  在备份中,我们经常会有异机备份、异地备份的服务器,通常有疑问,备份过去的文件是否是完整的,跟本机的文件是否一致,通常的做法就是比对MD5值,MD5值一致我们就认为文件是一致的,当然,最好的检验方式是做恢复,本文就不讨论恢复的事情,我们重点提供脚本来批量获取备份文件的md5值。

  windows下获取MD5值的核心命令为:

  certutil -hashfile <文件> MD5

  我这边编写的成熟的批量命令为:

  @echo off&setlocal enabledelayedexpansion

  rem author 许建生

  rem 发表于头条平台

  rem 相关的变量

  set dd=%date:~0,4%%date:~5,2%%date:~8,2%

  rem 存放MD5值的文件,每日一个文件

  set md5file=d:ftpbaklogs%dd%_md5.txt

  echo %dd%

  rem 每日新增文件列表

  echo today file list: > %md5file%

  for /r d:ftpbak %%i in (*%dd%*) do (

  echo %%i >> %md5file%

  )

  echo, >> %md5file%

  rem 每日新增备份类的文件,排除log、txt等无效的文件

  echo today bak file list: >> %md5file%

  for /r d:ftpbak %%i in (*%dd%*.tar.gz *%dd%*.zip *%dd%*.sql *%dd%*.bak *%dd%*.back) do (

  echo %%i >> %md5file%

  )

  echo, >> %md5file%

  rem 检查每个备份类文件的md5值

  echo start check file MD5: >> %md5file%

  for /r d:ftpbak %%i in (*%dd%*.tar.gz *%dd%*.zip *%dd%*.sql *%dd%*.bak *%dd%*.back) do (

  certutil -hashfile %%i MD5 >> %md5file%

  echo, >> %md5file%

  )

  rem 如果是有某些独立的文件,可以用下面的类似脚本进行

  certutil -hashfile D:ftpbakeHRTMEHR%dd% MD5 >> %md5file%

  end

  最后在利用windows的任务计划,就可以每天在某个时间点批量获取新增文件的MD5值。

  效果:

  如果有不清楚的欢迎留言问下,帮您看下什么问题。

  如果觉得对您有用,欢迎转发、转载。

免责声明:本文由用户上传,如有侵权请联系删除!