如何在Powershell中列出.zip文件的内容?

时间:2019-07-19 18:24:48

标签: powershell

我要查找.pst文件需要超过1000个.zip文件。这些.zip文件供VMware Horizo​​n组件使用,因此,请不要首先解压缩这些文件。

我尝试使用dir甚至dir -force,但是这些不会自动进入zip文件的内容。

powershell或Windows命令提示符中是否有内置方法可以打印.zip文件的内容,而无需先解压缩文件夹?

1 个答案:

答案 0 :(得分:3)

使用.Net框架中的ZipFile类。要列出存档文件中的条目,可以在Powershell中像这样使用它:

[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')

foreach($sourceFile in (Get-ChildItem -filter '*.zip'))
{
    [IO.Compression.ZipFile]::OpenRead($sourceFile.FullName).Entries.FullName |
        %{ "$sourcefile`:$_" }
}

或者,如果您具有PowerShell社区扩展,则可以使用其Read-Archive cmdlet。

https://archive.codeplex.com/?p=pscx