一个获得文件夹大小的ps脚本

2018-12-14

一个获得文件夹大小的ps脚本

闲时写的,看了一下结果,与explorer统计小文件夹大小出入比较大,大文件夹基本上没有差别。

param([string]$dir)

if(-not(Test-Path $dir))
{
  'Usage: Get-Dirlength <dirname>'
  return
}

'please wait...'
$length=0
Get-ChildItem $dir -Recurse | ForEach-Object {
  if(-not $_.PSIsContainer)
  {
  $length+=$_.Length
  }
}

'The length of {0}: ' -f ($dir) | Write-Host -NoNewline
if($length -lt 1MB){
  '{0:N2}KB' -f ($length)
}elseif ($length -lt 1GB) {
  '{0:N2}MB' -f ($length/1MB)
}else
{
  '{0:N2}}GB' -f ($length/1GB)
}

使用:

>  Get-Dirlength .\python36\
please wait...
The length of .\python36\: 652.63MB