Get Size of folder and sub folders recursively Windows Powershell#


function Get-DirSize {
<#
.Synopsis
  Gets a list of directories and sizes.
.Description
  This function recursively walks the directory tree and returns the size of 
  each directory found.
.Parameter path
  The path of the root folder to start scanning.
.Example
  # Get the largest folder under the user profile
  PS> (Get-DirSize $env:userprofile | sort Size)[-1]
.Example
  # Get the folder sizes of all folders under each folder in $folders
	PS> $folders | Get-DirSize
.Example
  # Create a tab-separated text file of Folders and Sizes
	PS> 'Folder', 'Size' -join "`t" > folder_sizes.txt
	PS> Get-DirSize C:\MyFolder | Sort-Object Size -desc | 
	>>    %{$_.Folder, $_.Size -join "`t"} >> folder_sizes.txt 
.ReturnValue
  An object with Folder and Size properties.
#>
  param([Parameter(Mandatory = $true, ValueFromPipeline = $true)][string]$path)
  BEGIN {}
 
  PROCESS{
    $size = 0
    $folders = @()
  
    foreach ($file in (Get-ChildItem $path -Force -ea SilentlyContinue)) {
      if ($file.PSIsContainer) {
        $subfolders = @(Get-DirSize $file.FullName)
        $size += $subfolders[-1].Size
        $folders += $subfolders
      } else {
        $size += $file.Length
      }
    }
  
    $object = New-Object -TypeName PSObject
    $object | Add-Member -MemberType NoteProperty -Name Folder `
                         -Value (Get-Item $path).FullName
    $object | Add-Member -MemberType NoteProperty -Name Size -Value $size
    $folders += $object
    Write-Output $folders
  }
  
  END {}
}


'Folder', 'Size' -join "`t" > folder_sizes.txt
Get-DirSize "[C:\PATH\XXX" | Sort-Object Size -desc | %{$_.Folder, $_.Size -join "`t"} >> folder_sizes.txt

Back to powershell

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-1) was last changed on 24-May-2017 15:30 by Hyve Support
G’day (anonymous guest) My Prefs
  • View Page Source
  • This clear IPSec security association,
    clear ipsec sa peer X.X.X.X
    

All Pages

Page views: 2004

Private Tomcat

Linux

MySQL

Email

SQL Server

ASP

JSP

C#

Web Mail

Windows Plesk

Linux Plesk

PHP

Gaming

ASP.NET

Persits ASPUpload

Wiki Help

Referring Pages:
...nobody

JSPWiki v2.8.1