SizeReporter generates a CSV/TSV/XML report of the disk usage:
It runs from the console and can be triggered by scheduled jobs or be run by scripts. It does not make any GUI call (no pop-ups, no dialogs) so it can also be run safely by services or continuous integration systems (CI) like CruiseControl for example.
The CSV file can be read by MS excel directly or imported into Open office calc for example to process the results and create reports or diagrams.
The executable only has two parameters: the directory to parse (may be a network path) and the depth of reporting.
During a run, the tool displays the current state in the console and reports the current directory being parsed as well as intermediate results.
After running, the tool generates at least two files:
Example of output:
Depth Files Dirs Virtual Size on Last modification Relative Path size (MB) disk (MB) 3 9 0 1,091 1,113 2005-05-17 21:27:01 .\$hf_mig$\KB898461\update 2 12 1 1,326 1,355 2005-05-17 21:27:01 .\$hf_mig$\KB898461
It currently reports following items:
There is an integrated help that is displayed on the command line by typing:
The options get listed. The main options are
--culture specify the culture to use for floats e.g. "en-US" --empty also report all empty files in an extra report --tsv create a Tab Separated Values file instead of a CSV --xml generate an XML report --quiet do not display anything on the console --follow-junctions also follow and report space consumed in a junction
The “culture” is interesting if you have a computer in a different locale to generate the report and to process the results. For example you generate the reports on a German machine and want to process the results on a machine with English locale. Then specify “en-US” to generate the report to get the floating point numbers right. You can also import the files into Calc or Excel and specify the format but that is more work than double clicking on the CSV…
Sometimes the dates of last modification can lay in the future. In this case, SizeReporter ignores anything that lies more than one day in the future. This can happen for plenty of different reasons that have nothing to do with the tool itself, like bad SSH clients used to upload data on a data storage area…
The tool can deal with extremely long paths, special characters inside paths and so on… The robustness of the tool is one of the strongest features.
At the time of writing, junctions are skipped as we are interested in the physical disk space consumed by the local directory tree only. However if you want to also report the space consumed by files from the junction, then use “–follow-junctions” on the command line. With the “–list-junctions” option you can let the tool provide you with a complete list of junctions.
Example: Generate a report of all junctions on C: to “junctions.csv”
SizeReporter.exe --list-junctions --junctions-file "junctions.csv" "C:" 1
The tool does not come with an installer, just download the zip and unpack it where you like and tun the executable.