Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Powershell获取zip文件中的文件夹名称_Powershell_Zip - Fatal编程技术网

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

使用Powershell获取zip文件中的文件夹名称,powershell,zip,Powershell,Zip,我有一个具有此内容结构的zip文件 zipfile.zip - mainfolder - file1 - file2 - subfolder 我需要确定“mainfolder”的名称,如何使用powershell获取“mainfolder”的名称?我尝试了不同的方法,但都不管用,我完全是powershell的初学者。我使用的是Powershell V2.0。您可以使用.NET命名空间System.IO.Compression.FileSystem通过ZipFile类

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

zipfile.zip
  - mainfolder
    - file1
    - file2
    - subfolder

我需要确定“mainfolder”的名称,如何使用powershell获取“mainfolder”的名称?我尝试了不同的方法,但都不管用,我完全是powershell的初学者。我使用的是Powershell V2.0。

您可以使用.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]

首先可能有没有
/
的条目(即使OPs示例没有显示)。所以<代码>((文件$Ful-NeX-Matele//'选择-第一个1)。FulnNosi-SLEP/')[0 ] < /代码>应该更安全。@ LEMIN如果答案解决了你的问题,或者你发现它们有帮助,你应该考虑和/或可能的副本。