【问题标题】:Is there a file size limitation with Powershell Compress-Archive Zip using Windows Server 2016?使用 Windows Server 2016 的 Powershell Compress-Archive Zip 是否存在文件大小限制?
【发布时间】:2020-03-18 06:30:10
【问题描述】:

我阅读了一堆关于 2GB 文件大小限制的网站(包括堆栈溢出帖子和 Microsoft 网站)
Microsoft Docs: Compress-Archive

"Compress-Archive cmdlet 使用 Microsoft .NET API System.IO.Compression.ZipArchive 用于压缩文件。最大文件 大小为 2 GB,因为存在底层 API 的限制。”

我有一个 PowerShell 脚本来使用 Azure DevOPS RestAPI 5.0 备份我的 Azure DevOPS 项目。

我使用 RestAPI 直接以 zip 格式下载我的所有项目,然后我使用 Compress-Archive 将所有压缩项目合并到 1 个“大”zip 文件中

我的总压缩项目文件总计等于 5.19GB
使用Compress-Archive 压缩为 1 个大 zip 文件后,我得到了 5.14GB 的 zip 文件大小
我没有任何问题可以解压缩它,尽管文档有 2GB 的限制,但我没有收到任何错误。

我想知道是不是因为我使用的是 Windows Server 2016(所以 64 位)所以我没有 2GB 的文件大小限制?

有人可以确认吗?由于 Microsoft 文档没有具体说明它。 事实上,他们规定问题是由于 System.IO.Compression
Microsoft Docs: system.io.compression.ziparchive

的 API 限制

随着我的 zip 将继续增长,我想确保 zip 不会因文件大小限制而损坏。

我确实可以使用 Zip64、7Zip 等第 3 方库,但我只想使用 PS/.Net 的内置压缩方法

【问题讨论】:

  • 我在这里找到了一个模糊的答案。但是你怎么知道每个 .Net Framework 的局限性。我想知道它是否与操作系统或框架或两者有关? stackoverflow.com/questions/1153126/…

标签: azure powershell compression


【解决方案1】:

2GB 限制适用于 zip 中的单个文件。

例如,如果您尝试扩展一个包含 2.1GB 文件的 .zip,则会引发错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 2021-10-23
    • 1970-01-01
    • 2013-12-20
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多