Board logo

标题: [文件操作] BAT脚本批量获取文件路径、大小、md5 [打印本页]

作者: hongfangs    时间: 2022-1-24 16:42     标题: BAT脚本批量获取文件路径、大小、md5

  1. @echo off
  2. title %info%
  3. cd /d "%~dp0"
  4. for /f "delims=" %%a in ('dir /ad/b/s') do (
  5.     echo;%%a
  6.     pushd "%%a"
  7.     (for /f "delims=" %%b in ('dir /a-d/b') do (
  8.         if "%%~nxb" neq "%~nx0" (
  9.             echo;"%%a","%%a\%%b","%md5%","%%~zb","%%~tb"
  10.         )
  11.     ))>"%%a结果1111.txt"
  12.     popd
  13. )
  14. echo;%info%
  15. pause
复制代码
以上代码能获取子目录下文件的路径、大小、日期
  1. @echo off
  2. ::获取文件md5值
  3. set para1=%~1
  4. set arg="333.txt"
  5. certutil -hashfile %arg% MD5  | find /v ":" > %para1%.md5
  6. set /p md5=<%para1%.md5
  7. echo %md5%
  8. ::获取文件大小
  9. FOR %%A IN (%arg%) DO set size=%%~zA
  10. ::字节为单位
  11. echo size is: %size%   
复制代码
求大佬,把第二段获取md5的命令写进第一段代码,能实现获取子目录下文件的路径、大小、日期、md5
作者: Batcher    时间: 2022-1-24 17:52

回复 1# hongfangs
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%a in ('dir /b /s /ad') do (
  4.     pushd "%%a"
  5.     (for /f "delims=" %%b in ('dir /b /a-d') do (
  6.         if "%%~nxb" neq "%~nx0" (
  7.             for /f "delims=" %%c in ('certutil -hashfile %%b MD5 ^| find /v ":"') do (
  8.                 echo "%%a","%%a\%%b","%%c","%%~zb","%%~tb"
  9.             )
  10.         )
  11.     ))>"%%a结果1111.txt"
  12.     popd
  13. )
复制代码

作者: 5i365    时间: 2022-1-25 11:43

回复 2# Batcher


    刚试了下, 双击执行后, 一闪就关, ansi编码
作者: Batcher    时间: 2022-1-25 14:55

回复 3# 5i365


建议以后不要再说“不行”、“一闪而过”、“没有反应”之类的话,因为这对于想要给你进一步帮助的人来说没有任何意义。希望大家都能学会的一个知识点是:如何查看代码的报错信息。

请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2