找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21015|回复: 4

[文件操作] 批处理怎样统计最底层文件夹中的文件数量?

[复制链接]
发表于 2023-4-1 10:25:35 | 显示全部楼层 |阅读模式
一个文件夹A里面有多个子文件夹,多个子文件里面又有多个子文件夹,依次连续,而在这些子文件夹里有的存在文件,有的是空文件夹,现在要做的是:

统计文件夹A中子文件夹的文件夹名称和文件个数并输出到TXT(空的文件夹也显示输出结果)。

格式是: 文件名 [文件个数
  

拜托大家了!
发表于 2023-4-1 11:02:05 | 显示全部楼层
本帖最后由 czjt1234 于 2023-4-1 11:03 编辑
  1. ' & cls & cscript.exe /nologo /e:vbs "%~f0" "D:\A" >out.txt & pause & exit

  2. Dim oFSO, oFolder, s

  3. Set oFSO = CreateObject("Scripting.FileSystemObject")
  4. Set oFolder = oFSO.GetFolder(Wsh.Arguments(0))

  5. s = ""
  6. Call EnumFolders(oFolder.Path)
  7. s = Left(s, Len(s) - 2)

  8. Sub EnumFolders(ByVal folderPath)
  9.     Dim oFolder
  10.     On Error Resume Next
  11.     s = s & folderPath & vbCrLf
  12.     For Each oFolder In oFSO.GetFolder(folderPath).SubFolders
  13.         Call EnumFolders(oFolder.Path)
  14.     Next
  15. End Sub

  16. For Each i In Split(s, vbCrLf)
  17.     Set oFolder = oFSO.GetFolder(i)
  18.     If oFolder.SubFolders.Count = 0 Then
  19.         Wsh.Echo oFolder.Path & " [" & oFolder.Files.Count & "个文件]"
  20.     End If
  21. Next
复制代码


把 D:\A 改成你指定的文件夹
 楼主| 发表于 2023-4-1 13:46:49 | 显示全部楼层
回复 2# czjt1234


    感谢大哥相助!
发表于 2023-8-3 19:19:56 | 显示全部楼层
test-1.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "ThisFolder=%~f0"
  5. for /f "delims=" %%i in ('dir /b /s /ad ^| sort /r') do (
  6.     if "!ThisFolder!" neq "%%~fi" (
  7.         for /f "delims=" %%j in ('dir /b /a-d "%%i" 2^>nul ^| find /v /c ""') do (
  8.             if "%%j" neq "0" (
  9.                 echo %%i [%%j]
  10.             )
  11.         )
  12.     )
  13.     set "ThisFolder=%%~dpi"
  14. )
  15. pause
复制代码
发表于 2023-8-3 20:18:54 | 显示全部楼层
读着感觉标题跟描述的不符,脑子混乱了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 17:04 , Processed in 0.019366 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表