获取最大的文件列表可能看起来像
gci -r|sort -descending -property length | select -first 10 name, length
如何添加特定的文件类型选择,例如 ascii 或格式化的 log/json/yaml 文件?
而仅选择年龄超过 30 天的选项可能也是一个好主意。
我的目标是积累过滤器:
- 仅适用于文本文件(忽略任何其他文件)
- 按大小排序
- 可选:排序仅保留超过 30 天的记录
- 保留并列出 10 个最大的。
我可以将这个需求与满足我所有需求的 Linux 命令行进行比较:
find . -type f -ctime +30 ! -executable -exec file {} + | grep -i ASCII | du -ah | sort -rh | head -10
答案1
有人给了我一个解决方案
$refDate = (Get-Date).AddDays(-30).Date
# fill the list of binary filetypes that are most likely found
$binaries = '*.exe', '*.bin', '*.png', '*.gif', '*.jpg', '*.dll' # I will complete here known extensions
Get-ChildItem -File -Recurse -Exclude $binaries |
Where-Object {$_.LastWriteTime -lt $refDate} |
Sort-Object Length -Descending |
Select-Object -First 10 |
Select-Object Name, Length
这看起来不错,可以解决