5.ファイルの圧縮

人にファイルを送るときやライブラリへのアップロードをするには圧縮も避けて通れない関門です。今度は圧縮のしかたについて説明したいと思います。LHA書庫を作る物として進めます。まずは圧縮ソフトのインストールを行います。ここでは独断と偏見でMiccoさん作のLHMELT v0.85を使ってみます。また、同じくMiccoさん(Rhizome Project)作のUNLHA32.DLLが必要になります。これらについても非常にポピュラーなソフトですので雑誌、ライブラリ、インターネットで簡単に入手できると思います。NIFTY-SERVE上では、

nifty:FWINAL/LIB/04/600 LMELT089.EXE LHMelt V0.89 LZH/ISH操作
nifty:FWINNT/LIB/11/??? ULHA3101.EXE UNLHA32.DLL Ver 1.01 LHA書庫操作DLL
で入手可能です。 また以下のDLLを使うと、さらに他のタイプの書庫も扱うことができます
nifty:FWINNT/LIB/11/170 TAR32023.EXE TAR32.DLL Ver0.23 TAR書庫操作DLL
nifty:FWINDB/LIB/04/106 UNZP32B3.LZH UNZIP32.DLL 開発用SDK ZIP書庫操作DLL

インターネット上では、窓の杜アーカイバ統合化計画のページなどで入手可能ですが、UNZIP32.DLLについては上記の場所からのみ入手できます。

まずはUNLHA32.DLL(これは必須ですね(^^))をインストールします。

自己解凍書庫ですのでデスクトップ上に解凍して、c:\windows\system\(もしくはお使いでの環境でのwindows\system)にコピーして下さい。
その際、 して置いて下さい。これを行わないと、コピーすべきUNLHA32.DLLが見えません(^_^;)

次にLHMELTのインストールです。これも自己解凍書庫でしてインストール機能があるのでそれに従ってインストールして下さい。

フォントの設定 まずはLHMELTを起動して下さい。初めて起動するとウインドウが小さいので適宜大きくして、その他(O)→フォントの選択(F)でフォントサイズを設定して使いやすくしてください。1回設定すればそのまま引き継がれます。

それではファイルを圧縮しましょう。
書庫形式指定

まず、タイトルバーを確認して下さい。新規書庫.LZHと出ていたらそのままでOKです。
出ていないときは、ファイル(F)→種類を指定して新規書庫(K)→LZH書庫(L)を指定します。

そして、LHMELTのウインドウに圧縮したいファイルをドラッグ&ドロップしてください。すると圧縮過程を表すダイアログが表示され圧縮が行われていることが示されます。

必要なファイルを圧縮し終わったらファイル(F)→名前を付けて保存(S)でファイル名を付けた上で保存します。

圧縮する上で注意すべきこととして、ディレクトリ付き、圧縮形式などが挙げられます。

ディレクトリ付きとは解凍時にディレクトリ(フォルダ)構成を再現したいときに使います。絶対ディレクトリと相対ディレクトリ(LHMELTでは親ディレクトリを基準と表現)があり、絶対ディレクトリではルートディレクトリからのディレクトリが、相対ディレクトリでは1つ上のディレクトリからのディレクトリ構成が記録されます。多くはディレクトリ無しで良いと思いますが、ディレクトリ付きで圧縮しておくと、同じファイル名でもディレクトリが異なるようにすると同じ書庫に圧縮することが可能です。

圧縮形式とはLHAでもlh5、lh6、lh7の3通りの圧縮方式があり後者の方が圧縮率は高くなっていますが、正式(LHA v2.13)なものはlh5、β版のlh6、lh7となっておりほとんどがlh5を利用しています。圧縮率の違いはここまで書いたこの文書で(9712バイト)はほとんど変わりませんが、ある日の生ログ(316341bytes)(1)とある日のNiftermのとある会議室のログ(8456685bytes)(2)では

形式圧縮後(1)圧縮率(1)圧縮後(2)圧縮率(2)
lh5140673bytes44.5%3681027bytes43.5%
lh612996241.4304521236.0
lh712577339.8283833533.6

という結果が出ており、後者の方が明らかに圧縮率は上がっています。

同様な操作で圧縮できるソフトにLHAユーティリティー32、EXPLZH(シェアウエア)があります。NIFTY SERVEでの入手先は以下の通りです。

nifty:FWINAL/LIB/04/??? EXPL243.EXE Explzh for W95/NT4.0 V2.43
nifty:FWINAL/LIB/04/650 LHUT3214.EXE LHAユーティリティ32 Ver1.14

しつこい様(^^;)ですがインターネット上では窓の杜アーカイバ統合化計画のページなどで入手可能です。
圧縮の話からはそれますが、LHMELTを含めたこれらのソフトでは「閲覧機能」があります。これはいちいち解凍することなく書庫の中身を見ることができる機能です。ちょっとREADMEを読んでみたいとかいう用途には最適です。


フレームとしてではなくこのページのみが表示されているときは、下のいずれかをクリックして下さい。
TOPページ 圧縮ファイルの取扱い方 本来のフレーム表示