7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Git bashでのzipコマンドの代わり

Last updated at Posted at 2019-09-03

Git bashでzipコマンドがなくて困った人は多いかもしれません。

Git bashでzipを作るには様々な手段が存在すると思いますが、
下記の様にPowerShellを呼び出す方法が好きなので紹介します。

## ディレクトリ配下のファイルをすべてzipに
$ powershell -c Compress-Archive -Path "./*" -DestinationPath out.zip

なら最初からPowerShellを使えよと……
Compress-Archive便利ですね。

zip関数をbashrcに登録

下記の関数を~/.bashrcに登録すると良いかもしれません。

~/.bashrc
zip(){ powershell -c Compress-Archive -Path "${1:-./*}" -DestinationPath "${2:-./out.zip}"; }

引数なしの際はカレントディレクトリをout.zipしてくれます。

$ find .
.
./file1.txt
./sub_dir
./sub_dir/file2.txt
$ zip 
$ zipinfo -1 out.zip
sub_dir\file2.txt
file1.txt

引数指定で任意のディレクトリを任意の名前でzipにできます。

//ディレクトリ自体をzipに含めたい場合
$ zip sub_dir out2.zip
$ zipinfo -1 out2.zip
sub_dir\file2.txt

$ rm out2.zip

//ディレクトリ自体はzipに含めたくない場合
$ zip sub_dir/* out2.zip
$ zipinfo -1 out2.zip
file2.txt

参考

Git Bashでzipを作るのにはさまざまな方法があるみたいです。

git-bash for windows を快適にするためのいろいろ : zipコマンドが使えるようにする
Git for Windowsなんだけどzipコマンド入ってないんだけど💢

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?