找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23332|回复: 3

[文本处理] [已解决]BAT如何计算母文件夹内含多少子文件夹

[复制链接]
发表于 2014-3-21 07:57:05 | 显示全部楼层 |阅读模式
本帖最后由 chuyizhou 于 2014-3-25 10:01 编辑

大家好!

是这样的,最近工作上出了点状况,temp的文件夹超过65,000了,听说这是FAT16的簇的数量的极限,然后很多进程就挂了。

于是我就想能不能写个BAT脚本,监测这个目录下面的文件夹内含有多少子文件夹。

我的目标文件夹内含有几十万的文件夹,文件夹得名字反正就类似加密码一样,可能就像22evse34t34f44fb34b43(这个不去管他)

我自己用 dir /s /-c 试了一下发现这句命令会检测这个路径下面所有的子文件夹,那我那个路径下面可是有几十万的文件夹 那最后的输出不是要看得眼花了?

举个例子:
G:\>Dir /s /-c "\\x\y\z\Altima\Trades"|Findstr /r "[1-9]*.File(s)"
               0 File(s)              0 bytes
              93 File(s)        3669048 bytes
              46 File(s)         164500 bytes
               3 File(s)           1697 bytes
             142 File(s)        3835245 bytes

G:\>Dir /s /-c "\\x\y\z\Altima"|Findstr /r "[1-9]*.File(s)"
               0 File(s)              0 bytes
               0 File(s)              0 bytes
              93 File(s)        3669048 bytes
              46 File(s)         164500 bytes
               3 File(s)           1697 bytes
               0 File(s)              0 bytes
              65 File(s)        2200730 bytes
               2 File(s)            490 bytes
               2 File(s)            586 bytes
               4 File(s)           1176 bytes
               2 File(s)            864 bytes
              10 File(s)           3298 bytes
               6 File(s)           1562 bytes
               4 File(s)           1374 bytes
               2 File(s)            884 bytes
               6 File(s)           1596 bytes
               4 File(s)           1054 bytes
               2 File(s)            542 bytes
               2 File(s)            878 bytes
               4 File(s)           1048 bytes
               6 File(s)           1464 bytes
               6 File(s)           1668 bytes
               4 File(s)           1062 bytes
              10 File(s)           2732 bytes
               4 File(s)           1148 bytes
               2 File(s)            570 bytes
               4 File(s)           1008 bytes
              13 File(s)         322414 bytes
             306 File(s)        6383393 bytes

就以这个为例,Trades目录下面有3个文件夹,这三个文件夹下面就只有文件,所以就只输出这3个文件夹包涵多少文件和这个文件夹的大小,还有一个总量。
可是如果指定其上一级目录Altima, 那这输出的就有点多了(第二条命令)。

如果我想实现,只输出Trades这个文件夹的大小和所包含的文件夹的数量(不是文件的数量),该怎么写呢?
或者只输出包含的文件夹的总数也行。

希望大家可以帮我一下。谢谢!
发表于 2014-3-21 08:57:48 | 显示全部楼层
  1. @echo off
  2. echo 包含的文件夹的总数:
  3. dir /b /s /ad "C:\Test" | find /c /v ""
  4. pause
复制代码
 楼主| 发表于 2014-3-21 10:29:52 | 显示全部楼层
回复 2# DAIC


    貌似不对阿,连test下面的子文件夹里面的文件夹也算进去了。有没有办法只计算test里面有几个子文件夹而不包括那些子文件内的子文件夹?
有些绕口啊~
发表于 2014-3-21 11:19:24 | 显示全部楼层
回复 3# chuyizhou


    把2楼代码里面的 /s 去掉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 02:07 , Processed in 0.014386 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表