Windowsのコマンドラインから7-Zipでtar.gz形式に圧縮する
「Windows環境下のコマンドラインでtar.gz形式に圧縮したい」という状況に陥ったので、手軽にできる方法を調査。
解凍は7-Zipでできた記憶があったが、どうやらGUIでもCLIでもtarやgzipへの圧縮が可能な模様。
目的
Windows上のCLIから、tar.gz形式に圧縮する。
これは、具体的に以下のようなケースで役立つ。
- Windowsのコマンドプロンプトやバッチファイルにおいて、所定のフォルダをtar.gz(もしくはファイルをgz)に圧縮したい場合
- Dockerコンテナのイメージにtar.gzやgz形式でファイルをADDしたい場合
ちなみにMacやLinuxなどの環境では、より一般的なtarコマンドを使う方がよい。
7-Zipでtar形式にアーカイブ
以下のようにコマンドを実行することで、hoge
フォルダがhoge.tar
にアーカイブされる。
"C:\Program Files\7-Zip\7z.exe" a hoge.tar hoge
a
はアーカイブ用のコマンドなので、常に固定。
"C:\Program Files\7-Zip\7z.exe"
は7-Zipがインストールされているパスを指す。
環境によって異なる場合は、適宜読み替えること。
7-Zipでgzip形式に圧縮
以下のようにコマンドを実行することで、hoge.tar
ファイルがhoge.tar.gz
に圧縮される。
"C:\Program Files\7-Zip\7z.exe" a hoge.tar.gz hoge.tar
tar.gz
形式のファイルを作成している。tar.gz形式にするには、tar形式とgzip形式でそれぞれ1回ずつコマンドを実行する必要がある。
こちらも7z.exe
のインストールパスが異なる場合は、適宜読み替えること。