Board logo

标题: [求助]计算每个目录的大小 [打印本页]

作者: lfzzj     时间: 2008-7-29 17:53    标题: [求助]计算每个目录的大小

我电脑中的d:\aaa目录内有很多目录比如111 222 333,然后每个目录内还有很多子目录和文件的,我就想计算出111 222 333这些目录的大小,请问该怎么写

作者: bat-zw     时间: 2008-7-30 01:06
@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 ]

作者: lfzzj     时间: 2008-7-30 12:43
很感谢 学习了不少东西

作者: zhoumeng     时间: 2008-7-31 09:43
我怎么没有想到呢,对于一个目录 大小是个整体 对于一个大目录,里面的小目录 大小就能计算了 不过 能不改下把单位精确到KB,每三位打个逗号

作者: pusofalse     时间: 2008-8-3 02:05
@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的。