ひまわりなら、たった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は、圧縮解凍について、ものすごくたくさんの細かい指定が出来ます。それを行うには、
のように、オプションを書きます。このオプションについては、Unlha32.dllと一緒に入っている「command.txt」を、ご覧ください。(ただし、ひまわりからの制限として、数字以外のオプションは利用できません。)
圧縮オプションは、『-a1 -r2 -x1』
解凍は、圧縮の、逆です。
『c:\backup\重要書類.lzh』を、『c:\重要書類』フォルダへ、解凍する方法
実に、簡単ですね。
{ファイルの解凍}
『c:\backup\重要書類.lzh』を、『c:\重要書類』へ、解凍。
同様に、解凍オプションで、解凍のオプションを指定できます。
・自己解凍書庫
自己解凍書庫と言うのは、解凍するためのソフトが別途不要。圧縮書庫の中に、解凍ソフトをくっつけたものです。SFX形式ファイルとも言います。これを作るには、
のように、書きます。
{ファイルの圧縮&自己解凍書庫の作成}
『c:\重要書類\*.doc』を、『c:\backup\重要書類.exe』へ、自己解凍書庫作成。
保存時の拡張子を、『.zip』に変えれば、zip形式で保存されます。
但し、いずれも、統合アーカイバプロジェクトより、DLLをインストールしておく必要があります。
'==========================================
『C:\WINDOWS\デスクトップ\Himawari』を、
『C:\WINDOWS\デスクトップ\backup.zip』に、圧縮。
'==========================================
保存時の拡張子を、『.cab』に変えれば、cab形式で保存されます。
'==========================================
『C:\WINDOWS\デスクトップ\Himawari』を、
『C:\WINDOWS\デスクトップ\backup.cab』に、圧縮。
(zip圧縮には、ZIP32.DLLではなく、ZIP32J.DLLが必要です。)
●ポイントは、フォルダを指定する場合です。
ひまわりでは、『フォルダ選択』命令を使うと、パス名の最後に『\』がついた値が返ってきます。
しかし、圧縮の場合、フォルダを指定するには、パス名の最後に、『\』をつけてはいけません。
そこで、以下のようにします。
『フォルダ名\*』(後ろに*を加える)
または
『フォルダ名』(フォルダ名の指定で、"\"をつけない)
以下、圧縮例です。
圧縮ボタンを、ボタンとして、作成。
その、テキストは、『圧縮』
その、イベントは(
'フォルダの選択
母艦の、タイトルは、『圧縮するフォルダを選択してください』
フォルダ選択。
圧縮対象フォルダ=それ&『*』。
'保存先の選択
母艦の、タイトルは、『保存先を選択してください』
『.lzh』の、書き込みファイル選択。
保存先=それ。
「\"{圧縮対象フォルダ}\"を\n\"{保存先}\"へ\n圧縮します。」と、二択。
もし、それが、はいならば、圧縮対象フォルダを、保存先へ、圧縮。
)。
待機。
>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)