Powershell 之批量获取文件大小的实现代码

    效果图:

    核心代码

    
    $startFolder = "D:\"
    $colItems = (Get-ChildItem $startFolder | Where-Object {$_.PSIsContainer -eq $True} | Sort-Object)
    foreach ($i in $colItems)
    {
     $subFolderItems = (Get-ChildItem $i.FullName -recurse | Measure-Object -property length -sum)
     $FileSize="{0:N2}" -f ($subFolderItems.sum / 1GB)
     $Unit='GB'
     if($FileSize -lt 1)
     {
      $FileSize="{0:N2}" -f ($subFolderItems.sum / 1MB)
      $Unit='MB'
     }
     write-host $i.FullName ' -- ' $FileSize $Unit -fore green
    }

    注意:如果是第一次运行需要开启执行脚本权限。

    在powershell中运行如下命令,然后 Y 确认即可。

    开启:set-executionpolicy remotesigned

    关闭:Set-ExecutionPolicy Restricted