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

[数值计算] [已解决]批处理统计文件数量并生成日志

  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文件夹为最底层的文件夹,即文件所在的文件夹)
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 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%
复制代码
1

评分人数

测试代码之前请做好备份

TOP

  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
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

本帖最后由 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
复制代码
1

评分人数

TOP

返回列表