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

Pau*_*all 7 directory size dir

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

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

dir命令似乎不返回文件夹大小.

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

Mar*_*ayo 7

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

批处理文件显示目录大小

除此以外:

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
Run Code Online (Sandbox Code Playgroud)

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%
) 
Run Code Online (Sandbox Code Playgroud)

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

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


MK.*_*MK. 5

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

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