bat計算指定文件MD5並輸出txt


@echo off

set Name1=*.ADS
set Name2=GM_RSSPI*
set Name3=equipment*
set Name4=protocols*

REM 設置輸出文件名
set FileName=AswRelease.md5

REM 刪除文件
del %FileName%

REM 輸出Name1類型文件的MD5值
for %%F in (%Name1%) do (^
    ::獲取md5值
    certutil -hashfile %%F MD5 >APP_MD5_TXT
    setlocal enabledelayedexpansion
    set index=0
    REM tokens  delims介紹http://blog.sina.com.cn/s/blog_6a7839530102uvx8.html
    for /f "tokens=* delims= " %%i in (APP_MD5_TXT) do (^
        ::echo %%i
        if !index! == 1 (set md5=%%i) 
         set /a index=index+1
    )
    ::cho !md5!
    del APP_MD5_TXT

    REM 移除md5中的空格,兼容md5出現空格的情況
    set md5=!md5: =!
    
    echo 當前文件MD5: !md5! 
    
    echo %%F        1    !md5!>>%FileName%
)
REM 輸出Name2類型文件的MD5值
for %%F in (%Name2%) do (^
    ::獲取md5值
    certutil -hashfile %%F MD5 >APP_MD5_TXT
    setlocal enabledelayedexpansion
    set index=0
    for /f "tokens=* delims= " %%i in (APP_MD5_TXT) do (^
        ::echo %%i
        if !index! == 1 (set md5=%%i) 
         set /a index=index+1
    )
    ::cho !md5!
    del APP_MD5_TXT

    REM 移除md5中的空格,兼容md5出現空格的情況
    set md5=!md5: =!


    echo 當前文件MD5: !md5! 
    
    echo %%F    2    !md5!>>%FileName%
)
REM 輸出Name3類型文件的MD5值
for %%F in (%Name3%) do (^
    ::獲取md5值
    certutil -hashfile %%F MD5 >APP_MD5_TXT
    setlocal enabledelayedexpansion
    set index=0
    for /f "tokens=* delims= " %%i in (APP_MD5_TXT) do (^
        ::echo %%i
        if !index! == 1 (set md5=%%i) 
         set /a index=index+1
    )
    ::cho !md5!
    del APP_MD5_TXT

    REM 移除md5中的空格,兼容md5出現空格的情況
    set md5=!md5: =!


    echo 當前文件MD5: !md5! 
    
    echo %%F    3    !md5!>>%FileName%
)
REM 輸出Name4類型文件的MD5值
for %%F in (%Name4%) do (^
    ::獲取md5值
    certutil -hashfile %%F MD5 >APP_MD5_TXT
    setlocal enabledelayedexpansion
    set index=0
    for /f "tokens=* delims= " %%i in (APP_MD5_TXT) do (^
        ::echo %%i
        if !index! == 1 (set md5=%%i) 
         set /a index=index+1
    )
    ::cho !md5!
    del APP_MD5_TXT
    REM 移除md5中的空格,兼容md5出現空格的情況
    set md5=!md5: =!

    
    echo 當前文件MD5: !md5! 
    REM 輸出不換行 例如 set /p="hello "<nul
    set /p=%%F    4    !md5!<nul>>%FileName%

)


pause    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM