文件夹内文件个数统计

2021/05/31 tips 共 1073 字,约 4 分钟

问题场景

  • 对某个文件夹的文件个数进行统计,文件夹内包含大量的子文件夹和各种格式的文件

基本方法

  • 在目标文件夹上右键,选择属性选项,即可了解其基本信息,其中包含文件数量和文件夹数量
    • PS:此处的文件数量把隐藏文件也统计了

复杂需求

有的时候统计目标需要符合一定特征(如后缀名、命名规律),此时基本方法不便于操作,可以考虑使用命令行来实现。

Windows

  • 统计当前目录(不包含子文件夹)下文件数量:dir /b /a-d | find /v /c ""
  • 统计当前目录(包含子文件夹)下文件数量:dir /b /s /a-d | find /v /c ""
  • 统计当前目录下非隐藏文件数量: dir /b /s /a-d-h | find /v /c ""
  • 统计当前目录下后缀为 pdf 的文件数量:dir /b /s /a-d | find /i /c ".pdf"
  • 统计当前目录(包含子文件夹)下文件夹数量:dir /b /s /ad | find /v /c ""

PS:通过 dir /? 可以获取与 dir 的使用说明,通过find /? 可以获取与 find 的使用说明。

dir
/A          显示具有指定属性的文件。
  属性         D  目录                R  只读文件
               H  隐藏文件            A  准备存档的文件
               S  系统文件            I  无内容索引文件
               L  重新分析点          O  脱机文件
               -  表示“否”的前缀
/B          使用空格式(没有标题信息或摘要)。
/Q          显示文件所有者。
/S          显示指定目录和所有子目录中的文件。
/T          控制显示或用来分类的时间字符域
find
/V         显示所有未包含指定字符串的行。
/C         仅显示包含字符串的行数。
/N         显示行号。
/I         搜索字符串时忽略大小写。
"string" 指定要搜索的文本字符串。

Linux

  • 统计当前目录(不包含子文件夹)下文件数量:ls -l|grep "^-"| wc -l
  • 统计当前目录(包含子文件夹)下文件数量:ls -lR|grep "^-"| wc -l
  • 统计当前目录(包含子文件夹)下文件夹数量:ls -lR|grep "^d"|wc -l
  • 统计当前目录(包含子文件夹)下后缀为 pdf 的文件数量:ls -lhR | grep '.pdf' |wc -l
  • 发现当前目录下所有后缀为 pdf 的文件:find ./ -name *.pdf

PS:通过 man ls 等方法可以获取与 ls 的使用说明,其他命令类似。

ls
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出,部分系统可以直接使用 `ll` 来表示,用-lh组合选项,以易读方式来显示文件大小。
-R 递归列出全部的目录内容,即输出子目录中的目录、链接、设备文件等
-a 列出所有的文件(包括以 . 开头的隐藏文件)其他状态一般不统计隐藏文件
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
grep 
"^-"  表示文件
"^d"表示目录

文档信息

Search

    Table of Contents