1、第一段代码如下
(此代码是获取文件的md5,但遇到文件名字有空格的情况,会提示CertUtil: -hashfile 失败: 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND) CertUtil: 系统找不到指定的文件。如何解决?)- title md5批量生成脚本-by miles
- setlocal enabledelayedexpansion
- %~d0
- cd %~dp0
- if exist CMD-Name.txt del CMD-Name.txt
- for /R %%s in (.,*) do (
- echo %%s
- ) >>CMD-Name.txt
- if exist CMD-md5.txt del CMD-md5.txt
- for /f "skip=1" %%a in (CMD-Name.txt) do certutil -hashfile %%a MD5>>CMD-md5.txt
-
- echo md5生成完毕
复制代码 ====================================================================================================================================
2、第二段代码如下
(此代码可以获取文件的md5,包括文件名字有空格的文件,也能获取大md5,但有个致命的缺点,就是只能获取当前文件夹的md5,下面的文件夹里的文件就没法获取了,如何优化?)- @echo off
- (for /f "delims=" %%i in ('dir /b /a-d') do (
- if "%%i" neq "%~nx0" (
- set /p =%%i <nul
- certutil -hashfile "%%i" MD5 | findstr /v "[^0-9a-z]"
- )
- ))>"MD5.txt"
复制代码
|