[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#28890: Painfully slow: DU.exe -Ssb %CD%

From: Bernhard Voelker
Subject: bug#28890: Painfully slow: DU.exe -Ssb %CD%
Date: Wed, 18 Oct 2017 22:53:03 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0

tag 28890 notabug
close 28890

On 10/18/2017 02:12 PM, Gavin Holt wrote:
> Hi
> I am trying to use cmd batch file to list the size of all directories
> in my roaming user profile - so I an clean it out.
> DU.exe works well and gives me the exact output I want - the sum of
> the size of the files in each directory EXCLUDING subdirectories. e.g.
> P:\MyPrograms\EDITORS\Scite>du -Ssb %CD%
> 2641767 P:\MyPrograms\EDITORS\Scite
> P:\MyPrograms\EDITORS\Scite\tools>du -Ssb %CD%
> 8834439 P:\MyPrograms\EDITORS\Scite\tools
> I would use a for loop to iterate over all the directories, but
> testing with a single directory shows this command to be painfully
> slow.
> (dir /AD /B /S %USERPROFILE%)
> Is there any way to optimize the DU function or an alternative you can
> suggest that gives the identical output.
> I did read the link below - but the output is not what I wanted.
> https://stackoverflow.com/questions/30513287/faster-way-to-get-folder-size-with-batch-script

Given that you have 'du.exe' from Cygwin (so that you have the
latest gear), I'd go with a combination of 'find' to get directory names
and 'du' to print the sizes; I'd also use --threshold=SIZE to exclude
directories smaller than SIZE:

  $ find . -depth -type d -exec du -hxSt 10M '{}' +

or with a pipe:
  $ find . -depth -type d -print0 | du --files0-from=- -hxS --threshold=10M

Finally, as you asked for Windows, I want to mention a very useful
graphical tool: "windirstat".

As this is more a question how to use du(1) - and not a bug - I'm
marking this issue as such in our bug tracker.

Have a nice day,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]