Board logo

标题: [数值计算] [已解决]批处理统计文件数量并生成日志 [打印本页]

作者: a6236130    时间: 2024-5-14 13:16     标题: [已解决]批处理统计文件数量并生成日志

  1. @echo off
  2. set num=0
  3. for /R %%i in (*-*.jpg) do set /A num+=1
  4. echo %num%
  5. pause
复制代码
代码出处 http://www.bathome.net/viewthrea ... 3%BC%C6%CE%C4%BC%FE
以上代码已经实现统计功能(部分),想扩展一下。
1、需要将结果导出保存成list.txt;
2、结果保存格式为AAA文件夹:3个
                         BBB文件夹:5个  以此类推(AAA、BBB文件夹为最底层的文件夹,即文件所在的文件夹)
作者: ShowCode    时间: 2024-5-14 14:31

回复 1# a6236130


扩展1.bat
  1. @echo off
  2. set num=0
  3. for /r %%i in (*-*.jpg) do set /a num+=1
  4. >"list.txt" echo %num%
复制代码

作者: 77七    时间: 2024-5-14 14:34

  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. cd /d "%~dp0"
  4. (for /r /d %%d in (*) do (
  5. for %%i in ("%%d\*-*.jpg") do (
  6. set /a n+=1,m+=1
  7. )
  8. if defined n (
  9. call echo %%~nxd:%%n%%个
  10. set n=
  11. )
  12. ))>"list.txt"
  13. echo %m%
  14. pause
复制代码

作者: aloha20200628    时间: 2024-5-14 15:23

本帖最后由 aloha20200628 于 2024-5-14 15:39 编辑

回复 1# a6236130

在当前目录及其各子目录中统计 ‘直属目标文件’ 的数量,如果非零则按行记入结果文件 list.txt 中。
  1. @echo off
  2. (for /f %%n in (' dir /b/a-d "*-*.jpg"^|find /v /c "" ') do if %%n neq 0 (echo,%cd% 文件夹:%%n 个)
  3. for /d /r %%d in (*) do for /f %%n in (' dir /b/a-d "%%d\*-*.jpg"^|find /v /c "" ') do if %%n neq 0 (echo,%%d 文件夹:%%n 个)
  4. )>"list.txt" 2>nul
  5. pause&exit/b
复制代码





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