Board logo

标题: [文件操作] [已解决]批处理如何统计文件夹内的图片数量和总大小,自动在文件夹末尾加信息后缀? [打印本页]

作者: crownking1983    时间: 2015-3-26 23:45     标题: [已解决]批处理如何统计文件夹内的图片数量和总大小,自动在文件夹末尾加信息后缀?

本帖最后由 crownking1983 于 2015-3-28 11:42 编辑

实例——
AAA文件夹 (内含图片数15个 总大小15M)
BBB文件夹 (内含图片数24个 总大小21M)
CCC文件夹 (内含图片数37个 总大小30M)
……………………等等 文件夹几百个

求一个批处理命令,双击后所有文件夹一次性被处理为——
AAA文件夹 处理后 AAA [15P 15M]
BBB文件夹 处理后 BBB [24P 21M]
CCC文件夹 处理后 CCC [37P 30M]
……………………等等 全部自动处理为以上形式
注意1.图片有jpg png bmp等各种格式,需要一同统计进去,所以批处理命令中可设定多种自定义文件格式同时统计
注意2.处理后的文件夹重命名为   原文件夹名 空格 [图片数P 空格 所有图片总大小M]  这样的版式
作者: cobat    时间: 2015-3-27 10:21

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (*) do (
  4.     set/a n=z=0
  5.     pushd "%%a"
  6.     for %%b in (*.jpg *.png *.bmp) do (
  7.         set/a n+=1,z+=%%~zb
  8.     )
  9.     set/a "z>>=20"
  10.     popd
  11.     ren "%%a" "%%a [!n!P !z!M]"
  12. )
  13. pause
复制代码

作者: DAIC    时间: 2015-3-27 10:25

文件夹里面除了图片还有其它文件吗?
作者: pcl_test    时间: 2015-3-27 10:31

回复 1# crownking1983
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::设置图片格式,如果所有文件夹里只有图片文件,则不需要设置,否则自行添加图片格式,修改为set "ext=*.jpg *.png *.bmp"
  4. set ext=
  5. for /f "delims=" %%i in ('dir /ad /b') do (
  6. set n=0
  7. set size=0
  8. pushd "%%i\"
  9. for /f "tokens=1-4" %%a in ('dir /a-d !ext! 2^>nul ^|find "个文件"') do (
  10. set n=%%aP
  11. set size=%%c
  12. set size=!size:,=!
  13. if !size! lss 1024 set s=!size!B
  14. if !size! geq 1024 if !size! lss 1048576 (set /a s=!size!/1024 & set s=!s!K)
  15. if !size! geq 1048576 (set /a s=!size!/1048576 & set s=!s!M)
  16. )
  17. popd
  18. ren "%%i" "%%i [!n! !s!]"
  19. )
  20. pause
复制代码





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