是否可以在不使用 zip 二进制文件的情况下创建 zip 文件?

是否可以在不使用 zip 二进制文件的情况下创建 zip 文件?

基本上我正在 Cygwin 中编写一个 shell 脚本,它需要我压缩几个文件(它必须是 zip 不能是 gzip)。我正在使用的服务器没有安装 zip 二进制文件,我无法安装它,因为它需要 RFC(更改请求)才能完成。

目前我可以创建 zip 的唯一方法是在 Windows 环境中选择我想要的文件,右键单击 > 发送到压缩的 zip 文件夹。但这违背了使用 shell 脚本来完成这项工作的目的。

有没有其他方法可以通过 Unix shell 或 Windows CMD 来完成此操作?

答案1

当然可以,使用Python 压缩文件模块。 Python 的安装非常普遍,因此您可能不需要请求安装它。 zipfile 模块附带了 Python 的标准库,因此如果 Python 本身安装的话,基本上可以保证安装它。

您可以通过编写简短的 Python 脚本或使用其自己的命令行界面(示例位于文档页面末尾)来使用它。

答案2

当然,只需使用 powershell 即可。下面的示例创建 foo.zip,其中包含 foo.txt。

PS C:\Users\steve_000> Compress-Archive -U -LiteralPath foo.txt -DestinationPath foo.zip
PS C:\Users\steve_000> dir foo.zip


    Directory: C:\Users\steve_000


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         15/04/17  10:52 PM           1119 foo.zip


PS C:\Users\steve_000>

更多详情请参见https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.archive/Compress-Archive

相关内容