在 PowerShell 中递归获取具有大小的文件
Get recursively files with sizes in PowerShell
我有
$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
在 post 目录中每个用户只显示一个文件,而不是 2 个或更多。我怎样才能得到所有?
我也试过:
$postpst = ls $home_user\post | Select-Object Name, @{Name="MegaBytes";Expression= {$_.Length / 1MB}}
$postpst
在这里,我无法格式化为零小数。
我的最终结果应该是每个用户主目录的递归文件列表,其中大小搜索特定扩展名(这里是 pst 文件)。
这是我的没有尺寸的代码:
$pst= Get-ChildItem -Path $home_user -Filter *.pst -Recurse -File| Sort-Object Length -Descending | ForEach-Object{ $_.FullName}
我去过:
Get-ChildItem 会做你想做的,你只需要 fiddle 输出一些。您可以在一行中完成所有操作:
Get-ChildItem -Filter *.pst -Path $home_user |
Sort-Object Length -Descending |
Select-Object FullName, @{name='Size';expression={
switch ($_.length) {
{ $_ -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 = 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
在 post 目录中每个用户只显示一个文件,而不是 2 个或更多。我怎样才能得到所有?
我也试过:
$postpst = ls $home_user\post | Select-Object Name, @{Name="MegaBytes";Expression= {$_.Length / 1MB}}
$postpst
在这里,我无法格式化为零小数。
我的最终结果应该是每个用户主目录的递归文件列表,其中大小搜索特定扩展名(这里是 pst 文件)。
这是我的没有尺寸的代码:
$pst= Get-ChildItem -Path $home_user -Filter *.pst -Recurse -File| Sort-Object Length -Descending | ForEach-Object{ $_.FullName}
我去过:
Get-ChildItem 会做你想做的,你只需要 fiddle 输出一些。您可以在一行中完成所有操作:
Get-ChildItem -Filter *.pst -Path $home_user |
Sort-Object Length -Descending |
Select-Object FullName, @{name='Size';expression={
switch ($_.length) {
{ $_ -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 $_ }
}
}}