У меня есть
$postpst = ls $home_user\post | Measure-Object length -Sum | % {
New-Object psobject -prop @{
Name = "$home_user\post"
Groesse = $(
switch ($_.sum) {
{ $_ -gt 1gb } { '{0:N2}GB' -f ($_ / 1gb); break }
{ $_ -gt 1mb } { '{0:N2}MB' -f ($_ / 1mb); break }
{ $_ -gt 1kb } { '{0:N2}KB' -f ($_ / 1Kb); break }
default { '{0}B ' -f $_ }
}
)
}
}
$postpst
Он показывает только один файл на пользователя в папке dir, но не 2 или более. Как я могу получить все?
Я также пытался:
$postpst = ls $home_user\post | Select-Object Name, @{Name="MegaBytes";Expression= {$_.Length / 1MB}}
$postpst
Здесь я не могу отформатировать до нуля.
Мой конечный результат должен быть рекурсивный список файлов вuser home dir с размерами в поисках определенного расширения (здесь pst файлы).
Вот мой код без размеров:
$pst= Get-ChildItem -Path $home_user -Filter *.pst -Recurse -File| Sort-Object Length -Descending | ForEach-Object{ $_.FullName}
Я посетил:
Как рекурсивно извлечь любые файлы с определенными расширениями в PowerShell?