Jar*_*Par 44
试试这个脚本
Get-ChildItem -re -in * |
?{ -not $_.PSIsContainer } |
sort Length -descending |
select -first 10
Run Code Online (Sandbox Code Playgroud)
分解:
过滤块" ?{ -not $_.PSIsContainer }
"用于过滤掉目录.sort命令将按大小按降序对所有剩余条目进行排序.select子句只允许前10个通过,因此它将是最大的10个.
Kei*_*ill 35
这可以简化一点,因为目录没有长度:
gci . -r | sort Length -desc | select fullname -f 10
Run Code Online (Sandbox Code Playgroud)
我在博客上写过一个类似的问题,我想在一个目录和所有子目录(例如整个 C: 驱动器)中找到最大的文件,并以一种易于理解的格式(GB、MB、和知识库)。这是我使用的 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
Run Code Online (Sandbox Code Playgroud)
输出到 PowerShell GridView 很好,因为它允许您轻松过滤结果并滚动浏览它们。这是速度更快的 PowerShell v3 版本,但博客文章还显示了一个较慢的 PowerShell v2 兼容版本。
当然,如果您只想要前 10 个最大的文件,您可以-First 10
向 Select-Object 调用添加一个参数。
归档时间: |
|
查看次数: |
47903 次 |
最近记录: |