以前こんな記事を書きました。
このツール、理想としていた zip
コマンドと少しインターフェースが違いました。
また、上記記事執筆時は画像の通り動いていたのですが、不具合が発生し動かなくなってしまいました。
このため、改修をおこない、ついでにすぐインストール出来るよう nuget.org に公開しました。
発生した不具合について
圧縮しても解凍出来ないファイルが出来上がるようになってしまいました。
記事執筆時では SharpZipLib という zip ライブラリを用いていました。
ですが調べた結果、SharpZipLib では macOS 上で上手く動かないので DotNetZip というライブラリを使うと良いことが以下記事から分かりました。
なので、zip 圧縮処理を DotNetZip へ移行しました。
詳細なコードは以下にありますのでご興味ある方はご覧ください。
使い方
シンタックスは以下の通りです。
$ dnzip [options] <archiveFilePath> <sourceDirectoryPath>
現状、複数ファイル指定が出来ず、<sourceDirectoryPath>
で指定したディレクトリ内のファイルを zip 圧縮するものとなっております。
オプションは以下の通りです。
オプション | 機能 |
---|---|
-r , --recursePaths |
再起的に圧縮する。(指定しないとルートディレクトリのファイルのみ圧縮される) |
-e , --encrypt |
暗号化する。 |
追加予定機能
今のところ以下機能の追加を予定してます。
- 複数のファイル、ディレクトリを指定出来る
- 本家
zip
コマンドの--no-dir-entries
の機能
余裕が出来たら実装していきたいと思います。