标题: [文件操作] 批处理怎样统计最底层文件夹中的文件数量? [打印本页]
作者: W102800 时间: 2023-4-1 10:25 标题: 批处理怎样统计最底层文件夹中的文件数量?
一个文件夹A里面有多个子文件夹,多个子文件里面又有多个子文件夹,依次连续,而在这些子文件夹里有的存在文件,有的是空文件夹,现在要做的是:
统计文件夹A中子文件夹的文件夹名称和文件个数并输出到TXT(空的文件夹也显示输出结果)。
格式是: 文件名 [文件个数
拜托大家了!
作者: czjt1234 时间: 2023-4-1 11:02
本帖最后由 czjt1234 于 2023-4-1 11:03 编辑
- ' & cls & cscript.exe /nologo /e:vbs "%~f0" "D:\A" >out.txt & pause & exit
-
- Dim oFSO, oFolder, s
-
- Set oFSO = CreateObject("Scripting.FileSystemObject")
- Set oFolder = oFSO.GetFolder(Wsh.Arguments(0))
-
- s = ""
- Call EnumFolders(oFolder.Path)
- s = Left(s, Len(s) - 2)
-
- Sub EnumFolders(ByVal folderPath)
- Dim oFolder
- On Error Resume Next
- s = s & folderPath & vbCrLf
- For Each oFolder In oFSO.GetFolder(folderPath).SubFolders
- Call EnumFolders(oFolder.Path)
- Next
- End Sub
-
- For Each i In Split(s, vbCrLf)
- Set oFolder = oFSO.GetFolder(i)
- If oFolder.SubFolders.Count = 0 Then
- Wsh.Echo oFolder.Path & " [" & oFolder.Files.Count & "个文件]"
- End If
- Next
复制代码
把 D:\A 改成你指定的文件夹
作者: W102800 时间: 2023-4-1 13:46
回复 2# czjt1234
感谢大哥相助!
作者: Batcher 时间: 2023-8-3 19:19
test-1.bat- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- set "ThisFolder=%~f0"
- for /f "delims=" %%i in ('dir /b /s /ad ^| sort /r') do (
- if "!ThisFolder!" neq "%%~fi\" (
- for /f "delims=" %%j in ('dir /b /a-d "%%i" 2^>nul ^| find /v /c ""') do (
- if "%%j" neq "0" (
- echo %%i [%%j]
- )
- )
- )
- set "ThisFolder=%%~dpi"
- )
- pause
复制代码
作者: Five66 时间: 2023-8-3 20:18
读着感觉标题跟描述的不符,脑子混乱了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |