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

[文件操作] [已解决]批处理怎样统计目录下所有文件夹的大小?

[复制链接]
发表于 2009-7-28 12:24:12 | 显示全部楼层 |阅读模式
比如一个目录下全是文件夹,怎样能统计出这些文件夹的大小,并输出文本,以文件夹名称和大小为一行。

能够实现吗?诚心请教!

[ 本帖最后由 sun-spot 于 2009-7-29 09:23 编辑 ]

评分

参与人数 1PB +2 收起 理由
keen + 2 感谢主动给标题标注[已解决]字样

查看全部评分

发表于 2009-7-28 14:12:56 | 显示全部楼层
包括子目录么?服了,非得要字数达标
 楼主| 发表于 2009-7-28 14:59:01 | 显示全部楼层
不包括子目录

以前学过批处理,学的不深,现在快忘光了
 楼主| 发表于 2009-7-28 17:35:55 | 显示全部楼层
顶起,来人解答啊……
发表于 2009-7-28 18:58:45 | 显示全部楼层
1、根据 dir 命令的结果获取文件夹大小
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. for /f "delims=" %%a in ('dir /b /ad') do (
  5.     for /f "tokens=2 delims=件字" %%b in ('dir /s "%%a" ^| findstr "个文件"') do (
  6.         set "FolderSize=%%b"
  7.     )
  8.     echo %%a: !FolderSize!
  9. )
  10. pause
复制代码
2、BAT调用 Windows Sysinternals 工具包里面的 du 命令获取文件夹大小
https://docs.microsoft.com/zh-cn/sysinternals/downloads/du
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%a in ('dir /b /ad') do (
  4.     for /f "tokens=2 delims=:" %%b in ('du -q "%%a" 2^>^&1 ^| findstr "Size:"') do (
  5.         echo %%a: %%b
  6.     )
  7. )
  8. pause
复制代码
3、BAT调用PowerShell获取文件夹大小
  1. @echo off
  2. REM setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. for /f "delims=" %%a in ('dir /b /ad') do (
  5.     set /p =%%a: <nul
  6.     powershell -c "(Get-ChildItem -Path '%%a' -Force -Recurse -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum"
  7. )
  8. pause
复制代码
4、批处理统计目录下所有文件夹的大小并把结果转换成KB、MB、GB
http://bbs.bathome.net/thread-31593-1-1.html#pid153139

5、VBS统计文件夹的大小并把结果转换成KB、MB、GB
http://bbs.bathome.net/thread-13307-1-1.html

评分

参与人数 1PB +10 收起 理由
Batcher + 10 乐于助人

查看全部评分

 楼主| 发表于 2009-7-29 09:22:32 | 显示全部楼层
谢谢5楼,竟然在DOS联盟也回了这帖
发表于 2009-7-29 11:19:55 | 显示全部楼层
该代码有个bug,就是如果批处理所在目录下的文件夹中有空文件夹,会取他上一个的文件夹的大小,而不是0,很怪异。
发表于 2009-7-29 13:27:37 | 显示全部楼层
用dir/s/a-d查询空目录,返回结果为“找不到文件”,所以for赋值的时候就有问题了:(
去掉了-d参数就正常了

评分

参与人数 1PB +10 收起 理由
Batcher + 10 乐于助人

查看全部评分

 楼主| 发表于 2009-7-30 08:59:18 | 显示全部楼层
是这样的,谢谢各位了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 22:28 , Processed in 0.032598 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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