[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# tmpuser

版本一,拖放文件到批处理上,直接生成“SHA256.txt”文件,里面自动顺序记录下文件名和SHA256值:
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. chcp 936 >nul
  5. set file=%~fx1
  6. set filegs=%file:~-3%
  7. set wfiles=%file%
  8. for /f "tokens=1,2 delims=:^ " %%a in ('certutil -hashfile "%wfiles%" SHA256') do (
  9. set date1=%%a
  10. set date2=%%b
  11. if not defined date2 (echo %file%  !date1!)
  12. ) >>SHA256.txt
  13. exit
复制代码
版本二   只记录SHA256值,不记录文件名。
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. chcp 936 >nul
  5. set file=%~fx1
  6. set filegs=%file:~-3%
  7. set wfiles=%file%
  8. for /f "tokens=1,2 delims=:^ " %%a in ('certutil -hashfile "%wfiles%" SHA256') do (
  9. set date1=%%a
  10. set date2=%%b
  11. if not defined date2 (echo !date1!)
  12. ) >>SHA256.txt
  13. exit
复制代码

TOP

回复 13# Blitz

大佬的方法不错,综合处理了下:
  1. @echo off & setlocal enabledelayedexpansion
  2. :run
  3. set/p=拖入文件:<nul
  4. for /f "delims=" %%I in (
  5.     'powershell "do {[void][console]::ReadKey().KeyChar} while ([console]::KeyAvailable)"'
  6. ) do set "wj=%%~I"&echo=
  7. for /f "tokens=1,2 delims=:^ " %%a in ('certutil -hashfile "%wj%" SHA256') do (
  8. set date1=%%a
  9. set date2=%%b
  10. if not defined date2 (echo %wj%  !date1!)
  11. )
  12. goto run
复制代码

TOP

返回列表