あまり大きな価値のあるものではないので、派手に宣伝する気はありませんが。
こんなものを作成しました。
azip: J#ライブラリによる.zipファイル圧縮展開簡易ツール
.ZIPファイルを圧縮展開するコマンドラインツールとクラスライブラリのDLLです。Visual J#のライブラリを使って実現しています。
こんなものを作った理由 §
.ZIPファイルを圧縮展開するコマンドラインツールそのものが欲しかったわけではなく、MagSiteMan1の開発と運用のために必用とされたために作成したものです。
MagSiteMan1はMagSite1の管理運用を自動化するためのものですが、その際、どうしても自働バージョンアップを実装することを避けられません。自働バージョンアップでは、.ZIP形式で圧縮されたファイル一式を配布サーバから取得して展開させたいと思います。それを実現するためには、.ZIP形式を展開するクラスライブラリが必用です。それも、安価でかつ責任の所在が明確であるものが望ましいと言えます。Visual J#のライブラリは、無料で使用でき、かつ、マイクロソフトの製品であるという点で責任の所在が明確であり、この条件に合致します。しかし、これはあくまでJava互換ライブラリなので、C#からはイマイチ使い勝手が良くありません。そこで、ラッパとなるライブラリを作成しました。
コマンドラインツールを作成する理由 §
それはさておき、ラッパだけでなくコマンドラインツールもあるのは、配布アーカイブを作成するバッチから使うことを意図したものです。本来なら、その程度のことは、よくあるツールを使えば良い、ことなのです。実際に、NTTFにはtzipという(古い)unzip32.dllにアクセスするおまけツールが含まれていたりしますし。しかし、unzip32.dllなどは商用利用では手続きが必用であったり、できれば面倒なことは避けたい気持ちが起きます。とりあえず、ラッパさえ作ってしまえばコマンドラインツールなど一瞬でできるので、一緒に作っておきました。
ちなみにNTTFからはtsetupでインストール可 §
既に作った本人もしばしば忘れかけているNTTFですが、これを使ってazipをインストールする場合は、まずtsetup -cとしてリストを更新してからtsetup -aです。関係ないものが一緒に落ちてくるのが嫌な場合は、tsetup azipです。ドキュメントを見るには、man azipです。
ちなみに、.NET FrameworkとJ#のライブラリのインストールはtsetupでは自動的にやってくれませんので、これは別途Windows Updateなどを使う必用があります。
2004年3月25日14時頃追記 §
うっかり配布アーカイブを.zipファイルにしていますが、これでは通常セットアップのNTTFで扱えません。そのため.lzhに変更しました。内容に変更はありませんので、既に入手済みの方は、特に何かをする必用はありません。