从命令行计算文件夹和子文件夹中的文件

ZEE*_*ZEE 9 windows batch command-line

如何从命令行将指定文件夹(以及可选的子文件夹)中给定类型(例如 *.mp3)的所有文件计数到环境变量中?

(请不要使用 PowerShell,只需批处理命令)

Dav*_*ill 6

计算文件夹和子文件夹中的文件

使用以下命令:

dir /b *.mp3 /s 2> nul | find "" /v /c > tmp && set /p count=<tmp && del tmp && echo %count%
Run Code Online (Sandbox Code Playgroud)

环境变量%count%将包含文件数。

笔记:

  • /s如果您不想计算子文件夹中的文件,请删除。

示例(使用 *.txt)

显示 17 个文件的目录列表:

F:\test>dir /b *.txt /s
F:\test\abc.txt
F:\test\blackwhite.txt
F:\test\cpu.txt
F:\test\interface.txt
F:\test\Lorem ipsum.txt
F:\test\right.txt
F:\test\rights.txt
F:\test\software.txt
F:\test\tabs.txt
F:\test\test.txt
F:\test\this is inside junction.txt
F:\test\unique.txt
F:\test\xyz.txt
F:\test\sub\abc.txt
F:\test\sub\xyz.txt
F:\test\sub with space\junction sub with space.txt
F:\test\sub with space\xyz.txt
Run Code Online (Sandbox Code Playgroud)

运行命令:

F:\test>dir /b *.txt /s 2> nul | find "" /v /c > tmp && set /p count=<tmp && del tmp && echo %count%
17
Run Code Online (Sandbox Code Playgroud)

进一步阅读


101*_*001 2

set filesCount=0 & for %f in (*) do @(set /a filesCount+=1 > nul)
Run Code Online (Sandbox Code Playgroud)