有名なファイル圧縮形式にLZH形式があります。拡張子は「.lzh」で、オンラインソフトや各種データの配布に採用されています。2010年8月時点で、日本郵便のサイトがLZH形式の郵便番号データを配布するなど、現在でも一般的に使われています。しかしながら、セキュリティ上の問題などにより、LZH形式を使わないようにと、主開発者から注意喚起されていることをご存じでしょうか(「お知らせ」) 。

 LZH形式は日本が誇る素晴らしい圧縮形式なので、問題が解決されることを望みます。しかしながら、現在の状況を踏まえた上で、LZH形式のファイルをもっとも一般的な圧縮形式のZIP形式に変換しておくなら、今後生じる可能性のあるセキュリティ上の問題に対処できるかもしれません。

 これまでデータのバックアップ形式や配布形式に、LZH形式を採用していた場合には、大量のLZHファイルがハードディスクに蓄えられていると思います。そこで、今回は、これまでに作った大量のLZH形式のファイルを、ZIP形式に変換するツールを作ってみようと思います。

LZH形式をZIPファイルに一括変換します
LZH形式をZIPファイルに一括変換します
[画像のクリックで拡大表示]

プログラム~LZH形式のファイルをZIP形式に変換する

 以下のなでしこプログラムは、大量にあるLZH形式のファイルをZIP形式に変換するプログラムです。プログラムを実行すると、どのフォルダーを変換するのかたずねられます。フォルダーを指定すると処理が開始され、LZHファイルをZIPファイルに変換します。ZIPファイルは、LZHファイルと同じフォルダーに作成されます。

#-----------------------------------------------------------------------# ■■■LZH形式のファイルをZIP形式に変換する■■■#-----------------------------------------------------------------------フォルダ選択して対象フォルダに代入。一時フォルダ=テンポラリフォルダ&「変換一時フォルダ\」#-----------------------------------------------------------------------「{対象フォルダ}*.lzh」の全ファイル列挙して、対象ファイルに代入。変換数=対象ファイルの要素数。対象ファイルを反復  母艦のタイトル=「変換中:{回数}/{変換数}:{対象}」  対象を「.zip」に拡張子変更して、保存先に代入。  対象を一時フォルダへ解凍。  一時フォルダを保存先に圧縮。  一時フォルダをファイル削除。#-----------------------------------------------------------------------終わる。