I did not specify a drive, so it becomes

$drive='%WINDIR%'


Code:
Function DiskSpace(optional $drive,$format)
Dim $objWMIService, $sWQL, $colDrives, $objDrive
If Not $drive
$drive='%WINDIR%'
EndIf
$format=Val($format)
If $format<5
$format=IIf($format=1,1024,IIf($format=2,1024.0*1024,IIf($format=3,1024.0*1024*1024,IIf($format=4,1024.0*1024*1024*1024,1))))
$diskspace=Cdbl(GetDiskSpace($drive))/$format
Else
$objWMIService=GetObject('WinMgmts:root/cimv2')
$sWQL = "Select Size, FreeSpace FROM Win32_LogicalDisk WHERE Name='"+Left($drive,2)+"'"
$colDrives=$objWMIService.ExecQuery($sWQL)
For Each $objDrive in $colDrives
$diskspace=Cdbl($objDrive.FreeSpace)/Cdbl($objDrive.Size)*100
Next
EndIf
$objWMIService=0
Exit @ERROR
EndFunction


 


Edited by NTDOC (2005-07-20 05:27 AM)