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


■概要

 ひまわりなら、たった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』に、圧縮。
但し、いずれも、統合アーカイバプロジェクトより、DLLをインストールしておく必要があります。
(zip圧縮には、ZIP32.DLLではなく、ZIP32J.DLLが必要です。)

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

●ポイントは、フォルダを指定する場合です。

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

 そこで、以下のようにします。
『フォルダ名\*』(後ろに*を加える)
または
『フォルダ名』(フォルダ名の指定で、"\"をつけない)

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

■必要となるDLLファイル

>LZH形式について
実際の圧縮解凍は、Miccoさん作の Unlha32.dllという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/)より、各DLLファイルの作者様を、たどって下さい。

以下のcaldixを使うと、一度にいろいろなDLLの最新版をインストールしてくれるので、ダウンロードが楽です。
http://hp.vector.co.jp/authors/VA017441/lib/caldix.htm

戻る