Powershell - 将ZIP文件/文件夹移动到一个目录中?

时间:2017-09-18 11:22:01

标签: windows powershell

我有一个ZIP存档,其目录结构如下所示。

根。 ZIP

级别1.文件夹

级别2.文件/文件夹

我目前正在做的是提取ZIP,将所有文件移动到正确的目录,删除现在空的文件夹,然后再次压缩文件夹。

我的问题是,有没有办法在不需要提取初始存档的情况下执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以将Zip文件加载到内存中,而无需在磁盘上提取它们。

$ZipFile = "C:\zipfolder\test.zip"

Add-Type -AssemblyName System.IO
Add-Type -AssemblyName System.IO.Compression

$FileStream = [System.IO.File]::OpenRead($ZipFile)
$ArchiveInMemory = [System.IO.Compression.ZipArchive]::new($file)

Add-types将加载所需的类。

OpenRead会将文件加载到内存中。

ZipArchive会将内存中的文件解释为zip存档