返回文件夹大小的批处理文件

时间:2010-12-23 13:50:41

标签: size directory dir

我的Vista机器上存在空间问题,需要弄清楚占用的空间是多少。

我想写一个简单的批处理文件,它返回C:下的所有文件夹以及每个文件夹的大小。

dir 命令似乎没有返回文件夹大小。

很遗憾,我们没有管理员权限,也无法安装第三方应用程序,我们的群组中还有其他用户也需要此信息。

2 个答案:

答案 0 :(得分:7)

我要看看这个帖子有关如何实现目录大小的一些线索:

Batch File To Display Directory Size

否则:

dirsize:

@echo off
setLocal EnableDelayedExpansion
set /a value=0
set /a sum=0
FOR /R %1 %%I IN (*) DO (
set /a value=%%~zI/1024
set /a sum=!sum!+!value!
)
@echo %CD%:!sum! k

AllDirSize:

echo off
set WORKING_DIRECTORY=%cd%
    for /f "delims=" %%a in ('dir /a:D /D /B /S') do (  
            echo off
            cd %%a
            "%WORKING_DIRECTORY%"\dirsize "%%a"
            cd %WORKING_DIRECTORY%
) 

使用它:ALLDIRSIZE > C:\temp\FileContainingFolderSizes.txt

这取自优秀的Richard Bishop测试论坛:http://www.bish.co.uk/forum/index.php?topic=58.0

答案 1 :(得分:5)

不完全回答您的问题,但如果您有GUI访问权限,我建议您使用TreeSize: http://www.jam-software.com/freeware/index.shtml

如果您更喜欢Unix utils的命令行使用du命令: http://unxutils.sourceforge.net/