Search code examples
sizedirectorydir

Batch file that returns folder size


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.


Solution

  • 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