Batch file that returns folder size

2019-03-27 12:29发布

I'm having space issues on my Vista machine and need to figure out what's taking up so much space.

I would like to write a simple batch file that returns all folders under C: and the size of each folder.

The dir command doesn't appear to return folder size.

Unfortunately we don't have admin rights and can't install a third party application and we have other users in our group that also need this information.

标签: size folder dir
2条回答
在下西门庆
2楼-- · 2019-03-27 12:58

I'd have a look at this thread for some clues as to how to achieve the directory size:

Batch File To Display Directory Size

Otherwise:

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%
) 

Use it: ALLDIRSIZE > C:\temp\FileContainingFolderSizes.txt

Which is taken from the excellent Richard Bishop testing forums: http://www.bish.co.uk/forum/index.php?topic=58.0

查看更多
We Are One
3楼-- · 2019-03-27 13:03

Not exactly answering your question, but if you have GUI access I'd suggest using TreeSize: http://www.jam-software.com/freeware/index.shtml

If you prefer command line use du command from Unix utils: http://unxutils.sourceforge.net/

查看更多
登录 后发表回答