Powershell Scripting Games - Day 8
Here is my solution for Event 8. Here we had to go through the hard drive and report which folder was using up all the space on the drive.
#First we set the path
$path = Read-Host "Which folder would you like to scan?"
#assign what we want to get to a variable
$myfolders = get-childitem $path -force -recurse | where-object{$_.PSIsContainer}
#initiate an empty variable
$mycol = @()
#now we loop through all the folders
foreach($folder in $myfolders)
{
Write-Host "Processing Folder $folder"
#Create and initialize a new variable with two fields Name, SizeMB
$myObj = "" | Select Name,SizeMB
#here we measure the actual size of the folder
[int]$DirSize = "{0:n2}" -f (((Get-Childitem $folder.FullName -recurse -force | `
measure-object -sum Length).Sum)/1mb)
#add the results to the variable
$myobj.Name = $folder.Name
$myobj.SizeMB = $DirSize
#add these to the mycol variable
$mycol += $myobj
}
#present the output and sort by size
$mycol | sort-object SizeMB -Desc | format-table -auto
Almost at the end!!