【发布时间】:2019-03-29 10:24:10
【问题描述】:
我使用 System.IO.Compression.FileSystem 在 powershell 脚本中压缩带有子文件夹的文件夹。 有些文件夹是空的,它会创建空文件而不是空文件夹。 我认为这是一个错误,但他们在documentation 中指定了它:
文件系统中的目录结构保存在 档案。如果目录为空,则创建一个空存档。采用 此方法重载以指定压缩级别以及是否 在存档中包含基本目录。
你知道如何避免这种情况吗,我想要空文件夹作为文件夹......这看起来很荒谬......
编辑:
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
[System.IO.Compression.ZipFile]::CreateFromDirectory($Source, $Target, $compressionLevel, $true)
【问题讨论】:
-
嗯...我不确定我是否正确。如果你压缩一些东西——不管它是什么——它会产生一个归档文件,比如archive.zip。如果你压缩一个空文件夹,这个空文件夹最终会出现在这样一个存档文件中。您是否考虑过使用内置 cmdlet Compress-Archive?
-
能否请您提供一个关于您执行压缩的具体方式的 sn-p?它将帮助我们与您一起进行测试和故障排除。
-
@root 搞定了,我觉得没必要这么简单。
标签: powershell compression system