中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 07:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]计算每个目录的大小 查看 993 回复 4
楼 主 [求助]计算每个目录的大小 发表于 2008-07-29 17:53 ·  中国 四川 成都 电信
初级用户
★★
积分 159
发帖 56
注册 2006-09-15 10:31
19年会员
UID 62663
状态 离线
我电脑中的d:\aaa目录内有很多目录比如111 222 333,然后每个目录内还有很多子目录和文件的,我就想计算出111 222 333这些目录的大小,请问该怎么写
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
+1 2008-07-31 10:32
2 发表于 2008-07-30 01:06 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b "d:\aaa"') do (
for /f "delims=" %%i in ('dir /s /a-d/b "%%a\*.*"') do set /a n+=%%~zi
echo %%a中共有文件大小为!n!字节
  set "n=0"
)
pause>nul


[ Last edited by bat-zw on 2008-7-30 at 01:13 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
zhoumeng +1 2008-07-31 09:43
批处理之家新域名:www.bathome.net
3 发表于 2008-07-30 12:43 ·  中国 四川 成都 电信
初级用户
★★
积分 159
发帖 56
注册 2006-09-15 10:31
19年会员
UID 62663
状态 离线
很感谢 学习了不少东西
4 发表于 2008-07-31 09:43 ·  中国 广东 深圳 电信
初级用户
积分 34
发帖 7
注册 2008-07-30 20:27
18年会员
UID 122420
性别 男
状态 离线
我怎么没有想到呢,对于一个目录 大小是个整体
对于一个大目录,里面的小目录 大小就能计算了
不过 能不改下把单位精确到KB,每三位打个逗号
5 发表于 2008-08-03 02:05 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /r /d %%a in (*) do (
for %%i in ("%%a\*.*") do set/a n+=%%~zi
set/a kb=n/1024
call :lp "%%a"
echo.&set n=0
)
pause>nul&exit/b

:lp
if defined kb (
set var=,!kb:~-3!
set size=!var!!size!
set kb=!kb:~,-3!
goto lp
)
set size=!size:~1!
echo %~1中约有 !size!KB
set size=



转为KB的。
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
论坛跳转: