我需要查找 Windows Server 2003 计算机上的所有压缩文件/文件夹,无论文件格式如何。搜索选项不提供此功能。
有没有办法列出/查看所有压缩文件?
也许,这可以通过 PowerShell 使用文件/文件夹属性来完成,并将其放入包含文件位置的 txt 文件中。
更新:
在压缩文件/文件夹下 - 我的意思是在更改文件/文件夹属性后在资源管理器中以蓝色显示的文件。
答案1
压缩指标存储在“attributes”属性中。此 Powershell 将报告压缩文件。
gci -r C:\search\path | where {$_.attributes -match "compressed"} | foreach { $_.fullname }
-- 开始编辑
文件大小存储在长度属性中,以字节为单位。您可以使用所谓的“计算属性”以 kb、mb、gb 等为单位显示大小。
$col1 = @{label="Size";Expression={$_.length/1mb};FormatString="0.0";alignment="right"}
$col2 = @{label="Fullname";Expression={$_.fullname};alignment="left"}
gci -r | where {$_.attributes -match "compressed"} | ft $col1,$col2 -autosize
如果你只需要较大的文件,比如大于 1MB
gci -r | where {$_.attributes -match "compressed" -AND $_.length -gt 1mb} | ft $col1,$col2 -autosize
文件夹大小也是可以的,但有点不同。只需尝试在 Google 上搜索“powershell 文件夹大小”,就会发现很多关于如何操作的帖子。还有许多免费工具(windirstat)可以报告文件夹大小。
答案2
这个定义相当模糊,因为“压缩文件”可以指各种各样的文件。你有普通的 .zip .tar .7z 等。你还有 .cab 文件,尽管我不确定它们现在有多常见。
据我所知,没有简单的方法可以找到压缩文件。您只需定义要查找的文件类型并使用 DOS 命令 dir。
在根提示符下输入
dir *.zip *.rar *.7z *.tar /s >> output_file.txt
这将列出所有子目录中的所有文件类型,并将输出存储在文件 output_file.txt 中。然后您可以查看“日志”并查找所需内容。
有关 DIR 的更多详细信息 -http://www.computerhope.com/dirhlp.htm