如何通过排除命令提示符中的点文件夹来计算文件和目录的数量?

如何通过排除命令提示符中的点文件夹来计算文件和目录的数量?

我用它dir /s来查看文件夹中的所有文件和指令。但这也显示 . 目录。我几乎有 100 多个顶级和内部文件夹。当我执行上述命令时,结果不准确。

如何使用窗口命令提示符获取准确的文件和目录数量?

答案1

递归计数文件:

set filesCount=0 & (for /R %f in (*) do @(set /a filesCount+=1 > nul)) & set filescount

递归计算目录数:

set dirsCount=0 & (for /D /R %f in (*) do @(set /a dirsCount+=1 > nul)) & set dirscount

资源:FOR循环命令

编辑:如果您关心隐藏文件,请比较以下结果:

d:\bat> set filesCount=0 & (for /R %f in (*) do @(set /a filesCount+=1 > nul)) & set filescount
filesCount=3095

d:\bat> set filesCount=0 & (for /F "delims=" %f in ('dir /b /s /a-h-d') do @(set /a filesCount+=1 > nul)) & set filescount
filesCount=3095

d:\bat> set filesCount=0 & (for /F "delims=" %f in ('dir /b /s /ah-d') do @(set /a filesCount+=1 > nul)) & set filescount
filesCount=10

d:\bat> set filesCount=0 & (for /F "delims=" %f in ('dir /b /s /a-d') do @(set /a filesCount+=1 > nul)) & set filescount
filesCount=3105

应用于目录 (予以适当修改)依次使用dir开关/aD/aHD/a-HD

相关内容