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

[文件操作] 求一个批处理命令,输出文件名和哈希值

本帖最后由 netdzb 于 2019-7-15 11:42 编辑

批量输出某个目录的文件名字,后面跟文件的CRC32值,或者MD5值。
文件名和哈希值之间用一个空格分隔。

假设已经有
crc32 文件名

md5 文件名的
计算工具

这个好像可以利用重定向完成的,但不知道怎么写?
希望能有bat脚本和shell脚本。我就一个帖子里问了。
不另外开贴了。


期望输出格式如下:

pk_reward.prof 0E6BDEA8
pk_reward.wav B861E45C
去除背景噪声.bat 6513E6E8

  1. @echo off
  2. (for /f "delims=" %%i in ('dir /b /a-d') do (
  3.     if "%%i" neq "%~nx0" (
  4.         set /p =%%i <nul
  5.         certutil -hashfile "%%i" MD5 | findstr /v "[^0-9a-z]"
  6.     )
  7. ))>"MD5.log"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 netdzb 于 2019-7-15 16:43 编辑

回复 2# Batcher

代码没能完全看懂,问的简单一点吧。
计算当前路径下所有的txt文件,显示

文件名 哈希值。

按照你的意思,我改成这样可以吗?

@echo off
(for %%i in ('*.txt') do (
        set /p =%%i <nul
        certutil -hashfile "%%i" MD5 | %%i
    ))>"MD5.log"

TOP

回复 3# netdzb


@echo off
(for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
    if "%%i" neq "%~nx0" (
        set /p =%%i <nul
        certutil -hashfile "%%i" MD5 | findstr /v "[^0-9a-z]"
    )
))>"MD5.log"

获取单个文件的MD5并赋值给变量:
  1. @echo off
  2. for /f %%i in ('certutil -hashfile "1.txt" MD5 ^| findstr /v "[^0-9a-z]"') do (
  3.     set "str=%%i"
  4. )
  5. echo %str%
  6. pause
复制代码
1

评分人数

    • TAT: 感谢,发现了新东西! certutil技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher

findstr是什么意思?可以去掉吧。

TOP

回复 5# netdzb


    你亲自测试一下就知道了
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表