搜索
bottom↓
回复: 1

批处理问题:如何列出每个子目录下文件的大小总和

[复制链接]

出0入17汤圆

发表于 2012-2-3 12:21:00 | 显示全部楼层 |阅读模式
目标:
批处理列出子目录下所有文件的大小总和

批处理代码:(存为size_dir.bat)
@ECHO OFF
for /d %%x in (*) do (
        echo ############################################################
        echo 子目录: %%x
        echo ############################################################
        dir /a /s "%%x")

输出结果:
C:\Temp\Batch_Dir>size_dir.bat
############################################################
子目录: 1
############################################################
驱动器 C 中的卷是 SYSTEM
卷的序列号是 xxxx-xxxx

C:\Temp\Batch_Dir\1 的目录

2012-02-03  12:02    <DIR>          .
2012-02-03  12:02    <DIR>          ..
2008-05-09  14:09           456,072 a.dll
2011-07-21  16:30             5,313 b.zip
               2 个文件        461,385 字节

     所列文件总数:
               2 个文件        461,385 字节
               2 个目录  4,951,236,608 可用字节
############################################################
子目录: 2
############################################################
驱动器 C 中的卷是 SYSTEM
卷的序列号是 xxxx-xxxx

C:\Temp\Batch_Dir\2 的目录

2012-02-03  12:12    <DIR>          .
2012-02-03  12:12    <DIR>          ..
2012-02-03  12:13    <DIR>          3
1997-07-03  00:00            51,200 c.exe
1997-07-03  00:00             2,650 d.gif
               2 个文件         53,850 字节

C:\Temp\Batch_Dir\2\3 的目录

2012-02-03  12:13    <DIR>          .
2012-02-03  12:13    <DIR>          ..
2007-02-16  16:22            10,454 E.RTF
2007-12-01  02:00                42 f.ini
               2 个文件         10,496 字节

     所列文件总数:
               4 个文件         64,346 字节
               5 个目录  4,951,236,608 可用字节

问题:
dir /a /s输出只想得到“     所列文件总数:”之后的一行,如下:
############################################################
子目录: 1
############################################################
               2 个文件        461,385 字节
############################################################
子目录: 2
############################################################
               4 个文件         64,346 字节

求教有没有解决方法?

目前,批处理最后一行改为:
        dir /a /s "%%x" | findstr "所列文件总数:$ 字节$")

结果如下:
############################################################
子目录: 1
############################################################
               2 个文件        461,385 字节
     所列文件总数:
               2 个文件        461,385 字节
               2 个目录  4,951,236,608 可用字节
############################################################
子目录: 2
############################################################
               2 个文件         53,850 字节
               2 个文件         10,496 字节
     所列文件总数:
               4 个文件         64,346 字节
               5 个目录  4,951,236,608 可用字节

怎样改进才能得到需要的输出?

出0入17汤圆

 楼主| 发表于 2012-2-3 17:38:40 | 显示全部楼层
看起来不好解,只好搬出cygwin了:
$ du -ks `ls`
456     1/
69      2/
44      f.pdf
1       size_dir.bat
就是对中文目录的支持。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 14:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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