コマンドライン ZIP圧縮コマンド
Windows環境で、コマンドラインからファイルをZIP圧縮する方法をメモします。
Windowsには標準でGUIのZIP圧縮ツールが付属していますが、そのツールは、コマンドラインからは使えないようです。コマンドラインからZIP圧縮をするためには、コマンドラインからの実行に対応したソフトウェアをインストールする必要があるようです。私が愛用している +Lhaca というツールでもコマンドラインからの実行に対応しているようですが、このツールでは、圧縮ファイルの作成先がGUIで設定した場所になってしまい、コマンドラインから自由に設定することが出来ないようです。手頃なツールを探すのも手間なので、私の身近にある、Java SDKに付属のjar.exeの利用を検討してみました。
次のようにZIPファイルを作成できました。ここで、オプションに"M"を付けていますが、これを付けることでマニフェストファイルを作成しなくなります。
set jar=C:\Java\jdk1.6.0_12\bin\jar.exe %jar% cvfM aaa.txt.zip aaa.txt
指定ディレクトリ(第1引数"%1")直下の全ファイルを、カレントディレクトリへ、各々ZIP圧縮する場合は、次のようになります。
set jar=C:\Java\jdk1.6.0_12\bin\jar.exe set oldcd=%CD% cd %1 for %%a in (*) do ( %jar% cvfM "%oldcd%\%%a.zip" "%%a" ) cd %oldcd%
なお、ファイル名に日本語を含む場合は、ファイル名が文字化けしてしまいます。