WMI is the most correct way to do this on windows networks.

require 'win32ole'
wmi = WIN32OLE.connect("winmgmts://./root/cimv2")
disk = wmi.ExecQuery("Select * from Win32_LogicalDisk")
disk.each {|drive| puts "#{drive.DeviceID} #{drive.FreeSpace}"}


walter / mwsewall.com wrote in message news:<405833D6.27159.9D31F7 / localhost>...
> Hi Everyone,
> 
> Is there a "ruby way" to find the free space on a drive.  I checked 
> the archives, but all I found was some talk of this 2 years ago, and 
> the solution was to use the win32api.  I am using 1.8.1-11 prag-prog 
> install for windows.
> 
> I know I can do  :
> /\s([\d,]+) bytes free/m =~ `dir f:`
> puts $1.split(',').join.to_i
> 
> and that does work, but there seems like there should be a better way 
> that I am missing.  I can see myself needing to run this on a Unix 
> box fairly soon as well.
> 
> 
> Thanks,
> 
> 
> Walt
> *****************************************************
> Walter Szewelanczyk
> IS Director
> M.W. Sewall & CO.        email : walter / mwsewall.com     
> 259 Front St.            Phone : (207) 442-7994 x 128
> Bath, ME 04530           Fax   : (207) 443-6284
> *****************************************************