如何找到目录结构中最大的10个文件?
发布于 2009-04-28 13:55:11
尝试此脚本
Get-ChildItem -re -in * |
?{ -not $_.PSIsContainer } |
sort Length -descending |
select -first 10细目:
过滤器块"?{ -not $_.PSIsContainer }“用于过滤出目录。sort命令将按大小降序对所有剩余条目进行排序。select子句将只允许前10个通过,因此它将是最大的10个。
发布于 2009-05-01 18:25:25
这可以简化一点,因为目录没有长度:
gci . -r | sort Length -desc | select fullname -f 10发布于 2015-04-25 07:41:09
我有一个blogged about a similar problem,我希望在目录和所有子目录(例如整个C:驱动器)中查找最大的文件,并以易于理解的格式列出它们的大小(GB、MB和KB)。下面是我使用的PowerShell函数,它在一个漂亮的Out-GridView中列出了所有按大小排序的文件:
Get-ChildItem -Path 'C:\somefolder' -Recurse -Force -File |
Select-Object -Property FullName `
,@{Name='SizeGB';Expression={$_.Length / 1GB}} `
,@{Name='SizeMB';Expression={$_.Length / 1MB}} `
,@{Name='SizeKB';Expression={$_.Length / 1KB}} |
Sort-Object { $_.SizeKB } -Descending |
Out-GridView输出到PowerShell GridView很好,因为它允许您轻松地过滤结果并滚动它们。这是较快的PowerShell v3版本,但博客文章也显示了较慢的PowerShell v2兼容版本。
当然,如果您只想要前10个最大的文件,只需在Select-Object调用中添加一个-First 10参数即可。
https://stackoverflow.com/questions/798040
复制相似问题