是否可以在不使用 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

相關內容