Sometimes you may want to check for the free disk space for multiple drives, even multiple computers in your network. If you are a server guy or someone with domain admin rights, you may want something more robust such as Lansweeper, Spiceworks, Open-AudIT, Zabbix, Nagios, OCS Inventory NG or the like to do an inventory. What if you are just a desktop admin?
The traditional way is to map the drives and jot down the free space manually, but that would not work if you have a large numbers of drives to check. I wrote the following code to accomplish the task, all you have to do is create a text file with one drive letters/UNC path per line and drag and drop it to the executable (alternatively, you can pass the text file’s filename as a parameter to the executable). The result will be presented in a Excel table.
If $CmdLine < 1 Then
MsgBox(0, "Error", "Please provide text file as parameter.")
$file = FileOpen($CmdLine, 0)
$lineNo = 1
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Local $oExcel = _ExcelBookNew() ;Create new book, make it visible
If @error Then
MsgBox(0, "Error", "Unable to create Excel instance.")
;Writing the header
_ExcelWriteCell($oExcel, "Disk", 1, 1)
_ExcelWriteCell($oExcel, "Free Space", 1, 2)
_ExcelWriteCell($oExcel, "Total Space", 1, 3)
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
$lineNo = $lineNo + 1
;Write the disk name
_ExcelWriteCell($oExcel, $line, $lineNo, 1)
;Write the disk free space
_ExcelWriteCell($oExcel, (Round( (DriveSpaceFree($line)/1024 ),2) &" GB"), $lineNo, 2 )
;Write the total disk space
_ExcelWriteCell($oExcel, (Round( (DriveSpaceTotal($line)/1024 ),2) &" GB"), $lineNo, 3 )
The compiled executable including source file and project file for ISN AutoIT Studio can be downloaded here.
Feel free to download drivespace.zip from the link above.
For simplicity, not much error checking had been implemented and the code is provided as is.