需求:
我要统计当前目录下的,所有一级子目录下的所有*.jpg 。只统计一级子目录,子目录下,可能有更多的子目录,但是不管有多少子目录,都统计所有的总数到一级子目录。然后将统计的数量根据目录名称,总数量,输出到一个.txt文件中。总数量小于10个的目录,就不要记录了。
比如:示例目录如下:
E:/图库/A001
/A002
/A003/B004/C97
/A004/E32
/A005/S21
/A006
批处理计算统计后
比如结果:输出到Num.txt
A001 2000张
A002 580张
A003 300张
A004 9900张
A005 19张
A006 由于数量小于10张,不计入列表。
就是想达到这种效果。目录名称,可能有中英文、数字、符号、空格、括号。有些目录可能没有*.jpg.
不知道,这种该如何实现,感谢帮助!
我自已不太懂,想了一下大概的思路如下:具体该如何组合,获取变量,传递变量,我搞不好。
首先要排除下面这种没有.jpg的目录:- for /f "delims=" %%a in ('dir /ad /b') do dir "%%a\*.jpg" /s /a /w |findstr /v "找不到文件"
复制代码 将上面排除后的结果,给下面:
在剩下的目录中,可以通过下列方法统计:但是有个问题,这个数量,在"所列文件总数:" 下一行,换行了,这种该如何获取。- for /f "delims=" %%a in ('dir /ad /b') do dir "%%a\*.jpg" /s /a /w |findstr "所列文件总数:"
复制代码 然后,计算结果,.jpg的数量变量,小于10张的再排除掉。
最后,将结果,目录名称和对应的数量,输出到.txt。就可以了。 |