【发布时间】: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
随着我的 zip 将继续增长,我想确保 zip 不会因文件大小限制而损坏。
我确实可以使用 Zip64、7Zip 等第 3 方库,但我只想使用 PS/.Net 的内置压缩方法
【问题讨论】:
-
我在这里找到了一个模糊的答案。但是你怎么知道每个 .Net Framework 的局限性。我想知道它是否与操作系统或框架或两者有关? stackoverflow.com/questions/1153126/…
标签: azure powershell compression