Skip to content

Instantly share code, notes, and snippets.

@sayedihashimi
Last active August 29, 2015 14:25
Show Gist options
  • Select an option

  • Save sayedihashimi/26b96f73d3822b46317c to your computer and use it in GitHub Desktop.

Select an option

Save sayedihashimi/26b96f73d3822b46317c to your computer and use it in GitHub Desktop.
PowerShell Measure-Directory function
function Measure-Directory{
[cmdletbinding()]
param(
[Parameter(Position=0,ValueFromPipeline=$true)]
[System.IO.DirectoryInfo[]]$path,
[switch]$recurse
)
process{
foreach($srcpath in $path){
$gciargs = @{ 'Path' = $srcpath }
if($recurse){
$gciargs.Add('Recurse',$true)
}
$measure = Get-ChildItem @gciargs| Measure-Object -Property Length -Sum -Maximum -Minimum -Average
New-Object -TypeName psobject -Property @{
NumFiles = $measure.Count
TotalSize = $measure.Sum
AverageFileSize = $measure.Average
MaxFileSize = $measure.Maximum
MinFileSize = $measure.Minimum
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment