#!perl use warnings; use strict; use Win32::OLE; my $fs = Win32::OLE->CreateObject('Scripting.FileSystemObject'); my $d = $fs->GetDrive('c:'); print $d->{TotalSize}, " total\n"; print $d->{FreeSpace}, " free\n"; print $d->{AvailableSpace}, " available\n"; print $d->{TotalSize} - $d->{FreeSpace}, " used\n"; __END__ Output on my system: 4446814208 total 2482372608 free 2482372608 available 1964441600 used