Batch file that returns folder size

陌路散爱 提交于 2019-12-04 20:49:32

问题


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.


回答1:


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




回答2:


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/



来源:https://stackoverflow.com/questions/4519320/batch-file-that-returns-folder-size

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!