DIRUSE from the 2003 Support Tools works well for getting folder size on a windows servers. http://www.microsoft.com/downloads/details.aspx?familyid=96A35011-FD83-419D-939B-9A772EA2DF90
For instance, the following command will display all directories over 300 MB in size:
diruse /S /M /Q:300 /D C:\
syntax;
DIRUSE displays a list of disk usage for a directory tree(s). Version 1.20
DIRUSE [/S | /V] [/M | /K | /B] [/C] [/,] [/Q:# [/L] [/A] [/D] [/O]] [/*] DIRS
/S Specifies whether subdirectories are included in the output.
/V Output progress reports while scanning subdirectories. Ignored if /S i
specified.
/M Displays disk usage in megabytes.
/K Displays disk usage in kilobytes.
/B Displays disk usage in bytes (default).
/C Use Compressed size instead of apparent size.
/, Use thousand separator when displaying sizes.
/L Output overflows to logfile .\DIRUSE.LOG.
/* Uses the top-level directories residing in the specified DIRS
/Q:# Mark directories that exceed the specified size (#) with a "!".
(If /M or /K is not specified, then bytes is assumed.)
/A Specifies that an alert is generated if specified sizes are exceeded.
(The Alerter service must be running.)
/D Displays only directories that exceed specified sizes.
/O Specifies that subdirectories are not checked for specified size
overflow.
DIRS Specifies a list of the paths to check.
Note: Parameters can be typed in any order. And the '-' symbol can be
used in place of the '/' symbol.
Also, if /Q is specified, then return code is ONE if any directories are
found that
exceed the specified sizes. Otherwise the return code is ZERO.