zipバイナリを使わずにzipファイルを生成できますか?

zipバイナリを使わずにzipファイルを生成できますか?

デフォルトでは、私はいくつかのファイルを圧縮する必要があるCygwinでシェルスクリプトを書いています(gzipではなくzipでなければなりません)。私が使用しているサーバーにはzipバイナリがインストールされていないため、完了するために変更要求(RFC)が必要なためインストールできません。

現在zipを生成する唯一の方法は、Windows環境で目的のファイルを選択して右クリックし、>圧縮zipフォルダに送信することです。しかし、これはタスクを実行するためにシェルスクリプトを使用する目的を失います。

UnixシェルまたはWindows CMDを介してこれを行う他の方法はありますか?

答え1

もちろん、使用Python圧縮ファイル基準寸法。 Pythonは非常に一般的にインストールされているので、インストールを要求する必要はありません。 zipfile モジュールには Python の標準ライブラリが付属しているので、Python 自体がインストールされると、デフォルトでインストールが保証されます。

短いPythonスクリプトを作成するか、独自のコマンドラインインタフェースを使用して使用できます(例はマニュアルページの最後にあります)。

答え2

もちろん、powershellを使用してください。次の例では、foo.txtを含むfoo.zipを作成します。

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

関連情報