使用Powershell在zip文件中获取文件夹名称

时间:2019-04-09 07:53:49

标签: powershell zip

我有一个具有此内容结构的zip文件

zipfile.zip
  - mainfolder
    - file1
    - file2
    - subfolder

我需要确定“ mainfolder”的名称,如何使用powershell获得“ mainfolder”的名称?我尝试了不同的方法,但没有任何效果,我完全是Powershell的初学者。我正在使用Powershell V2.0。

1 个答案:

答案 0 :(得分:1)

您可以使用.NET命名空间System.IO.Compression.FileSystem通过ZipFile类读取zip,但是它仅返回文件条目,因此您需要从第一个条目中推断出文件名,如下所示,这可能有点脆弱:

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

$zipFile = 'zipfile.zip'
$Files = [IO.Compression.ZipFile]::OpenRead($zipFile).Entries

(($Files | Where FullName -match '/' | Select -First 1).Fullname -Split '/')[0]