Thank you Raymond..Your code helped me build mine.Hope this helps:
SET NOCOUNT ON
IF OBJECT_ID(N'tempdb..#drive_space') IS NOT NULL DROP TABLE #drive_space
CREATE TABLE #drive_space
(name varchar(5)
, available_mb int)
INSERT #drive_space(name,available_mb)
EXEC master..xp_fixeddrives
DECLARE
@drive VARCHAR(5)
, @cmd VARCHAR(1000)
, @pos SMALLINT
IF OBJECT_ID(N'tempdb..#cmd_space') IS NOT NULL DROP TABLE #cmd_space
CREATE TABLE #cmd_space
(total_b VARCHAR(1000)
, drive VARCHAR(5))
DECLARE drive_name CURSOR FOR
SELECT name FROM #drive_space
OPEN drive_name
FETCH NEXT FROM drive_name INTO @drive
WHILE @@FETCH_STATUS = 0
BEGIN
SET @cmd='master..xp_cmdshell ' + ''''+ 'fsutil volume diskfree ' + @drive + ':| find '+ '"Total # of bytes"'+''''
INSERT #cmd_space(total_b) EXEC (@cmd)
UPDATE #cmd_space SET drive=@drive WHERE drive IS NULL
FETCH NEXT FROM drive_name INTO @drive
END
CLOSE drive_name
DEALLOCATE drive_name
DELETE FROM #cmd_space WHERE total_b IS NULL
SELECT @pos=charindex(':',total_b) FROM #cmd_space
SELECT b.drive as DRIVE
, CONVERT(BIGINT,(RIGHT(b.total_b,(LEN(b.total_b)-@pos))))/1073741824 AS TOTAL_DRIVE_SPACE_GB
, a.available_mb/1024 AS AVAILABLE_SPACE_GB
FROM #drive_space a WITH (NOLOCK)
INNER JOIN #cmd_space b WITH (NOLOCK)
ON a.name=b.drive
DROP TABLE #cmd_space
DROP TABLE #drive_space