windows下生成摘要bat脚本

作者: 追逐丶 | 来源:发表于2017-03-12 12:47 被阅读233次

    关键代码:certutil -hashfile file_name sum_name

    下面不多讲述,看脚本和看效果图
    bat脚本:

    @echo off
    title 摘要生成
    setlocal enabledelayedexpansion
    ::color 0D
    ::mode con cols=50 lines=30
    
    echo =====================================
    echo         摘要生成
    echo.
    echo    PS:大文件请稍等片刻
    echo       拉入多个文件请用空格隔开
    echo       注意是文件,不是文件夹
    echo =====================================
    echo.
    echo         1、MD5
    echo         2、SHA1
    echo         3、SHA
    echo         c、退  出
    echo.
    :loop
    
    set /p var=请选择要进行的操作,然后按回车:
    if "%var%" == "" set /a var=1
    if not "%var%" == """" set var=%var:~0,1%
    for %%t in (1,2,3,c) do if %%t==%var% set /a temp=1
    rem 这个for循环检测输入是否是在这个set中
    
    if not %temp%==1 set /a var=1
    rem 如果不在set默认值为1
    
    if %var% == c goto mExit
    rem 如果选择的是c的话直接退出
    
    echo ----你选择的操作为:%var%
    
    set /p file_path=请把文件拉入命令行:
    
    if "%file_path%"=="" goto mExit
    REM 判断“空”防止直接按回车键
    
    echo ------------------------------------------------
    
    :mFor
    for /f "tokens=1,*" %%a in ("%file_path%") do (
        REM 这里可以替换成自己的处理程序,现在只是简单地显示值
        rem echo   a = %%a
        
        if "%file_path%"=="""" goto mExit
        REM 为"双引号就停止"
        if %var% == 1 certutil -hashfile %%a MD5
        if %var% == 2 certutil -hashfile %%a SHA1
        if %var% == 3 certutil -hashfile %%a SHA256
    
        
        echo ------------------------------------------------
        REM 将剩余字符串赋值给str变量
        set file_path=%%b
        rem echo %file_path%
        REM pause
        if not "%file_path%"=="""" goto mFor
        
    )
    
    goto mExit
    
    :mError
    echo 输入操作数有误
    goto mExit
    
    :mExit
    goto loop
    
    pause
    rem 参考博客:http://blog.sina.com.cn/s/blog_40270a8101014mhe.html
    
    效果图

    相关文章

      网友评论

      本文标题:windows下生成摘要bat脚本

      本文链接:https://www.haomeiwen.com/subject/qwptnttx.html