在 Linux 上,我可以使用以下命令生成 CSV 输出
du -hs /home/*/imap/*/* | sort -rh | sed 's/\//\t/g' | awk '{print $5 " " $6 " " $1}' | sed 's/ /,/g'
此命令输出具有以下结构的 CSV 文件:
domain,username,userfoldersize
我正在尝试使用 PowerShell 获取类似的输出。
我在网上找到了这段代码,但它显示的大小不正确。超过 GB 大小的文件夹大小仍以 MB 为单位显示。此外,它在子目录中显示得太远了。
$startFolder = 'C:\path\to\mail\domain\user'
$colItems = (Get-ChildItem $startFolder | Measure-Object -property length -sum)
"$startFolder -- " + "{0:N2}" -f ($colItems.sum / 1MB) + " MB"
$colItems = (Get-ChildItem $startFolder -recurse | Where-Object {$_.PSIsContainer -eq $True} | Sort-Object)
foreach ($i in $colItems)
{
$subFolderItems = (Get-ChildItem $i.FullName | Measure-Object -property length -sum)
$i.FullName + " -- " + "{0:N2}" -f ($subFolderItems.sum / 1MB) + " MB"
}
我有一个这样的目录:C:\path\to\mail\domain\user
我希望它显示文件夹的完整路径user
,并显示user
文件夹大小。以人类可读的格式。例如:500MB、5GB 等...