# ファイルの圧縮・解凍・自己解凍書庫作成

## ■概要

> ひまわりなら、たった1行プログラム書くだけで、簡単に、ファイルの圧縮解凍ができます。
> 標準で扱える圧縮ファイルの形式は、『LZH』形式のみですが、統合アーカイバプロジェクト（http://archiver.wakusei.ne.jp/）より、アーカイバ DLLを入手してインストールするだけで、LZH/ZIP/CABなどの形式の圧縮解凍が行えます。

## ■ファイルの圧縮方法

> ・一番簡単な方法

> 例えば、『c:\重要書類』フォルダ以下の全てのファイルを、『c:\backup\重要書類.lzh』へ圧縮する方法です。

> ｛ファイルの圧縮｝ 『c:\重要書類』を、『c:\backup\重要書類.lzh』へ、圧縮。

> 実に、簡単ですね。

> ・ちょっと大人の使い方

> 上の方法だと、フォルダを圧縮ということで、解凍してみると分かりますが、「重要書類」という、フォルダが作成されます。そうではなくて、ファイルのみを、圧縮したい場合は、ワイルドカードを使って、

> ｛ファイルの圧縮｝ 『c:\重要書類\*』を、『c:\backup\重要書類.lzh』へ、圧縮。

> と、書きます。違いが分かりますか？

> また、『重要書類』フォルダの中にある、ワードのファイル（拡張子が、doc）のみを圧縮したいという場合は、

> ｛ファイルの圧縮｝ 『c:\重要書類\*.doc』を、『c:\backup\重要書類.lzh』へ、圧縮。

> と、書きます。

> ・達人の使い方

> Unlha32.dllは、圧縮解凍について、ものすごくたくさんの細かい指定が出来ます。それを行うには、

> 圧縮オプションは、『-a1 -r2 -x1』

> のように、オプションを書きます。このオプションについては、Unlha32.dllと一緒に入っている「command.txt」を、ご覧ください。（ただし、ひまわりからの制限として、数字以外のオプションは利用できません。）

## ■ファイルの解凍方法

> 解凍は、圧縮の、逆です。
> 『c:\backup\重要書類.lzh』を、『c:\重要書類』フォルダへ、解凍する方法

> ｛ファイルの解凍｝ 『c:\backup\重要書類.lzh』を、『c:\重要書類』へ、解凍。

> 実に、簡単ですね。
> 同様に、解凍オプションで、解凍のオプションを指定できます。

## ■自己解凍書庫作成

> ・自己解凍書庫

> 自己解凍書庫と言うのは、解凍するためのソフトが別途不要。圧縮書庫の中に、解凍ソフトをくっつけたものです。SFX形式ファイルとも言います。これを作るには、

> ｛ファイルの圧縮＆自己解凍書庫の作成｝ 『c:\重要書類\*.doc』を、『c:\backup\重要書類.exe』へ、自己解凍書庫作成。

> のように、書きます。

## ■LZH以外の形式を使った圧縮

> 保存時の拡張子を、『.zip』に変えれば、zip形式で保存されます。

> '========================================== 『C:\WINDOWS\ﾃﾞｽｸﾄｯﾌﾟ\Himawari』を、 『C:\WINDOWS\ﾃﾞｽｸﾄｯﾌﾟ\backup.zip』に、圧縮。 '========================================== 保存時の拡張子を、『.cab』に変えれば、cab形式で保存されます。 '========================================== 『C:\WINDOWS\ﾃﾞｽｸﾄｯﾌﾟ\Himawari』を、 『C:\WINDOWS\ﾃﾞｽｸﾄｯﾌﾟ\backup.cab』に、圧縮。

> 但し、いずれも、統合アーカイバプロジェクトより、ＤＬＬをインストールしておく必要があります。
> （zip圧縮には、ZIP32.DLLではなく、ZIP32J.DLLが必要です。）

## ■うまく圧縮できない(TへT)/

> ●ポイントは、フォルダを指定する場合です。
> ひまわりでは、『フォルダ選択』命令を使うと、パス名の最後に『\』がついた値が返ってきます。
> しかし、圧縮の場合、フォルダを指定するには、パス名の最後に、『\』をつけてはいけません。
> そこで、以下のようにします。

> 『フォルダ名\*』（後ろに＊を加える） または 『フォルダ名』（フォルダ名の指定で、"\"をつけない）

> 以下、圧縮例です。

> 圧縮ボタンを、ボタンとして、作成。 その、テキストは、『圧縮』 その、イベントは( 'フォルダの選択 母艦の、タイトルは、『圧縮するフォルダを選択してください』 フォルダ選択。 圧縮対象フォルダ=それ&『*』。 '保存先の選択 母艦の、タイトルは、『保存先を選択してください』 『.lzh』の、書き込みファイル選択。 保存先=それ。 「\"{圧縮対象フォルダ}\"を\n\"{保存先}\"へ\n圧縮します。」と、二択。 もし、それが、はいならば、圧縮対象フォルダを、保存先へ、圧縮。 )。 待機。

## ■必要となるＤＬＬファイル

> ＞LZH形式について

> ★実際の圧縮解凍は、Miccoさん作の Unlha32.dllというＤＬＬファイルを用いています。（標準のひまわりパッケージには、Unlha32.dllが梱包されています。）
> 参考：（Undha32.dll作者様のページ） Micco's HomePage→http://www2.nsknet.or.jp/~micco/micindex.html
> 注意： Unlha32.dllの作者Micoさんは、ひまわりと直接関係がありません。迷惑がかかりますので、ひまわりの質問を、Micoさんにしないようにお願いします。

> ＞その他の形式について

> 統合アーカイバプロジェクト（http://archiver.wakusei.ne.jp/）より、各ＤＬＬファイルの作者様を、たどって下さい。 以下のcaldixを使うと、一度にいろいろなＤＬＬの最新版をインストールしてくれるので、ダウンロードが楽です。 （http://hp.vector.co.jp/authors/VA017441/lib/caldix.htm）

戻る