为什么 IO.Compression.ZipFile 个条目与 7zip GUI 不匹配?

Why does IO.Compression.ZipFile count of Entries not match 7zip GUI?

我正在尝试通过计算 this 答案等压缩条目的数量来验证 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-Zipz.exe' l $zipFile

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

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

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

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

($zip.entries.where({!$_.FullName.EndsWith('/')})).count