#!/usr/local/bin/perl #use Win32; use Win32::DriveInfo; use strict; use warnings; print "OS Information\n"; my $computer=Win32::NodeName(); print "The computer name is $computer\n"; my %dtypes=(0 => "Undertmined", 1 => "Does Not Exist", 2 => "Removable", 3 => "Hardrive", 4 => "Network", 5 => "CDROM", 6 => "RAM Disk"); print "Drive Information\n"; my @drives = Win32::DriveInfo::DrivesInUse(); foreach my $drive (@drives){ my $type=Win32::DriveInfo::DriveType($drive); print "Drive $drive is a $dtypes{$type}\n"; if (($drive eq 'C') | ($drive eq 'H')) { my ($sectors, $bytessec, $freeclust, $clustnum, $userfree, $total, $totalfree)=Win32::DriveInfo::DriveSpace($drive); #divide bytes to get gigabytes; my $gbtotal = sprintf("%.2f", ($total/1073741824)); my $gbfree = sprintf("%.2f", ($totalfree/1073741824)); my $gbused = sprintf("%.1f", ($gbtotal - $gbfree)); my $free = $gbfree/$gbtotal; my $perfree = sprintf("%.2f", ($free * 100)); #Print output printf "$gbfree GB free from total of $gbtotal GB\n"; printf "total GB used $gbused\n"; printf "$perfree%% free on drive $drive\n"; printf "\n"; } else {} } exit;