0

我试图通过计算像这个答案这样的压缩条目的数量来验证 PowerShell 中 ZIP 存档的内容。

但是,7Zip GUI、gci、Entries.Count 和 7Zip CLI 之间的结果不一致,例如:

(Get-ChildItem -path $sourceFolder -Recurse | where { ! $_.PSIsContainer }).Count

= 77779 个文件

[IO.Compression.ZipFile]::OpenRead($zipFile).Entries.Count

= 77838 个条目

&'c:\Program Files\7-Zip\7z.exe' l $zipFile

= 77779 个文件,59 个文件夹(即 77838 个对象)

但是 59 个文件夹计数是错误的 - 7Zip GUI 显示 77779 个文件和 35726 个文件夹。

有没有办法从.Entries 中排除文件夹?否则我可以像这样解析 7z.exe l 命令的结果,但更喜欢本机方法

4

1 回答 1

1

您可以进行自定义计数...如果条目仅指定一个文件夹,请跳过它:

($zip.entries.where({!$_.FullName.EndsWith('/')})).count
于 2018-12-07T09:47:02.633 回答