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ファイルに対して実行することで、tar.gz形式のファイルを作成している。
tar.gz形式にするには、tar形式とgzip形式でそれぞれ1回ずつコマンドを実行する必要がある。

こちらも7z.exeのインストールパスが異なる場合は、適宜読み替えること。

参考

Command Line Version User’s Guide - 7-Zip

関連記事


  1. ネットワークが落ちていたらWindowsを自動で再起動する
  2. Dependency Review Actionのライセンスチェック機能に関する調査メモ
  3. クエリパラメータを使ってお手軽にGitHubのプルリクを作成する
  4. 他の人には読めない形式でGitHubのSecretsの値を読み出す
  5. GitHub Actionsでプルリクのコメントに複数行テキストを投稿する
  6. GitHub Actionsでエラーの時だけ特定の処理を実行する
  7. Tera Termのマクロで、パスワードを扱う操作を自動化する

comments powered by Disqus