Author Topic: Windows 10 to get a built-in command-line disk space analyzer  (Read 69 times)

Offline javajolt

  • Administrator
  • Hero Member
  • *****
  • Posts: 35126
  • Gender: Male
  • I Do Windows
    • windows10newsinfo.com
Windows 10 to get a built-in command-line disk space analyzer
« on: December 31, 2020, 11:06:13 PM »


Microsoft is working on a new built-in command-line 'Disk Usage' utility that reports how much disk space a folder uses.

Over time it is common to run out of storage and not know what programs or files are using all of the hard drive space. In the past, users would need to download free tools like TreeSize to list folders using the most space.

While playing with the new Windows 10 Insider builds 20277 and 21277 released last week, BleepingComputer discovered that Microsoft has quietly introduced a new DiskUsage utility. This utility can scan entire drives or specified folders and report how much each folder is using.

DiskUsage is located under C:\Windows\System32\diskusage.exe and will show usage instructions when entering diskusage /?, as shown below.


DiskUsage usage instructions

This program is at the beginning of development, with some features not working as expected and some spelling errors in the usage instructions.

Quote
DiskUsage - Disk Usage

Description: Summarize disk usage recursively for the given directory.
Usage      : diskusage [Options] [Directory]
Options    :
    /a, /systemAndReserve    displays size for system files and reserved space
    /c, /csv                 displays in csv format
    /d, /maxDepth=N          displays directory information only if it is N or
                             fewer levels below command line argument
    /e, /minFileSize=SIZE    displays directory information only if its FileSize
                             is greater or equal than SIZE
    /f, /minSizeOnDisk=SIZE  displays directory information only if its SizeOnDisk
                             is greater or equal than SIZE
    /g, /displayFlag=FLAG    specifies the flags value to determin which column(s) to display
                             column          value    description
                             SizeOnDisk      0x001    the on disk size
                             FileSize        0x002    the end of file size
                             SizePerDir      0x004    sum of SizeOnDisk for top level child
                             Files           0x008    number of child files
                             ChildDirs       0x010    number of child directories
                             FilesPerDir     0x020    number of top level child files
                             DirsPerDir      0x040    number of top level child directories
                             CreationTime    0x080    file creation timestamp
                             LastAccessTime  0x100    file last access timestamp
                             LastWriteTime   0x200    file last write timestamp
                             Attributes      0x400    file attributes
    /h, /humanReadable       displays size in human readable format
    /i, /iniFile=FILE        takes all the parameters from an INI file.
                             NOTE: SCENARIO name must be speificed via /j (/scenario)
    /j, /secnario=SCENARIO   specifies the scenario name for the INI file
    /l, /allLinks            count all hardlinks separately (By default, files with multiple
                             hardlinks are counted only once towards the first link name)
    /m, /multipleName        count only files with more than one link names
    /n, /nameFilter=FILTER   count only files whose name matches the name filter
    /p, /preferredPath=PATH  count files with multiple link names towards the first link that's
                             under PATH if it exists
                             NOTE: This options must not be specified togerther
                             with /l (/allLinks)
    /q, /virtual             recurse into virtual directories
    /r, /skipReparse         skip recursing into reparse directories
    /s, /skipResurse         skip recursing into child directories when calculating sizes
    /t, /TopDirectory=N      displays Top N directories by SizeOnDisk in descending order
    /u, /TopFile=N           displays Top N files by SizeOnDisk in descending order
    /v, /verbose             displays verbose error information
    /x, /clearDefault        do not display the default selected columns

Testing out the new DiskUsage utility

Microsoft's new DiskUsage tool is in the beginning stages of development, so it's a bit rough around the edges. With that said, BleepingComputer decided to give it a whirl and see how it performed.

By default, when running DiskUsage, it will report file and folder sizes in bytes, which is not as helpful as showing sizes in MBs, GBs, etc. Thankfully, Microsoft included a /h argument to display human-readable sizes, which we will use in our usage examples below.

As we ran this test on a virtual machine, we don't have much data or large programs installed, so we tested it against the C:\Windows folder.

As this tool requires administrative privileges, you must first open a Windows 10  elevated command prompt before using diskusage.exe or it will display an error.

To see the folders under C:\Windows that are greater than 1 GB in size, we ran the following command:

Quote
diskusage /minFileSize=1073741824 /h c:\windows

As you can see below, DiskUsage listed all folders, including the C:\Windows folder, that is greater than 1 GB in size.


Folders greater than 1 GB in size under C:\Windows

DiskUsage also includes a feature to list the top N (number) folders on a drive or under a specified folder.  To do this, you use the /t=[number] command as follows:

Quote
diskusage /t=5 /h c:\windows

Unfortunately, the output of this command was not as expected. As you can see below, it displayed a sorted list of 5 folders, but based on our previous commands, they were not the folders we were expecting.


The top 5 folders in size under C:\Windows

We guess that the above command displays the largest folders, without considering files in their subfolders.

DiskUsage also includes other features such as listing the top files in size by using the /u option, as shown in the following command:

Quote
diskusage /u=5 /h c:\windows

As you can see below, instead of showing the top five folders, DiskUsage displays the five largest files.


The top 5 files in size under C:\Windows

Other features included in DiskUsage include creating configuration files containing the options you wish to use automatically, output customization, and the ability to skip over various folder types.

As previously stated, DiskUsage is still in its beginning stages, and there is no information as to when it will be available. You can test it now by installing the latest Windows 10 Insider builds.

source