load: (name Tar32.dll) (type tar+gzip tar+gzip) encode: (cmd -cvfz (arc.tgz) (list\*.*)) sfx: (xcmd copy /b C:\Progra~1\Noah\tgzsfx.exe + (arc) (arc.exe))
これを作ったのは、TAR+GZip の SFX モジュールが存在するというだけの理由。 tgzsfx.exe へのパスは各自の環境に応じて。 http://www.csdinc.co.jp/archiver/lib/kmtarsef.html に GUI の TAR + GZip SFX モジュールがあります。 ちょっとファイルサイズは大きくなりますが、 いろいろと展開時に設定ができるので、こっちの方がいいのかな。
load: (name Compress.exe) (type TCC TCCompress) decode: (cmd /d (arc)) encode1: (cmd (list))
普段の圧縮率はとても低いですが、 単純なデータでは高い圧縮率になります。 展開するときは必ず書庫と同じ場所に展開させ、 フォルダ自動作成はオフにして下さい。 もしもやってしまったときは、 Ctrl + C か Ctrl + Break で何とかなりますが。
load: (name Top.exe) (type top4 best) decode: (cmd x (arc)) encode1: (cmd a (list) (arc.to4) -m2) sfx: (xcmd Top4exe.exe (arc) (arc.exe))
圧縮は遅く、その上圧縮率は悪いです。 展開は圧縮に比べればちょっとは速い。 SFX スタブは 10 KBytes 以下とやや小さめ。
http://hem.passagen.se/svto/?noframe
load: (name tscomp.exe) (type tscomp *highest medium lowest) decode: (cmd (arc) file -d) encode1: (if (method 1) (cmd (list) (arc.tsc) -sh)) (if (method 2) (cmd (list) (arc.tsc) -sm)) (if (method 3) (cmd (list) (arc.tsc) -sl))
拡張子 tsc は適当です。
decode 時の使い方がよくわからなかった。
tscomp archive_filename output_filename -d のように使うらしい。
でも、アーカイブファイルのヘッダ部分には、元のファイル名が残っているから、
output_filename はいらないと思うのだけれど、指定しないと、
--- Unable to open outrput file --- といわれてしまう。
かといって (arc-.tsc) としても同じことを言われてしまうので、
やむを得ず上のような無理やりの形に。output file の名前は File で固定です。
元のファイル名は、アーカイブファイルのヘッダから各自が読み取ってください。
圧縮率は低いです。速度は速いかな。
load: (name ttcomp.exe) (type TTComp TTComp) encode1: (cmd (list) (arc.ttp))
load: (name ttdecomp.exe) decode: (cmd (arc) file)
拡張子不明。TTComp だから ttc で、なんて考えてたら、
それは True Type Font Collection だった。
tcp っていうのもなんかいやだったから、ttp にしておいた。
ロングファイルネーム不可。
decode: 部分で cmd (arc) (arc-.ttp) とするとランタイムエラーとなるので、
やむを得ずこういうかたちに。復元されたファイルは file という名前になります。
load: (name Uc.exe) (type UC fast *normal multimedia best) decode: (cmd e (arc)) encode: (if (method 1) (cmd a -tf (arc.uc2) (list\*))) (if (method 2) (cmd a -tn (arc.uc2) (list\*))) (if (method 3) (cmd a -tt (arc.uc2) (list\*))) (if (method 4) (cmd a -tst (arc.uc2) (list\*))) sfx: (xcmd Uc2sea.exe (arc))
UltraCompressor ってのに全部入ってます。 オフィシャル? でダウンロードしようとすると、なぜか 404 になるので、 FTP SEARCH などで uc237b.exe, uc2pro.exe, uc2r3.exe のどれかを探すと出てくる。
http://www.xs4all.nl/~aipnl/
load: (name ufa.exe) (type ufa store strange *normal sound_8_bit%(1%) BMP_24_bit text sound_8_bit%(2%) executable guess_best_method solid) decode: (cmd x (arc)) encode: (if (method 1) (cmd a -r -m0 (arc.ufa) (list\*))) (if (method 2) (cmd a -r -m1 (arc.ufa) (list\*))) (if (method 3) (cmd a -r -m2 (arc.ufa) (list\*))) (if (method 4) (cmd a -r -m3 (arc.ufa) (list\*))) (if (method 5) (cmd a -r -m4 (arc.ufa) (list\*))) (if (method 6) (cmd a -r -m5 (arc.ufa) (list\*))) (if (method 7) (cmd a -r -m6 (arc.ufa) (list\*))) (if (method 8) (cmd a -r -m9 (arc.ufa) (list\*))) (if (method 9) (cmd a -r -mg (arc.ufa) (list\*))) (if (method 10) (cmd a -r -mg -s (arc.ufa) (list\*)))
作者が同じだけあって 777, BIX, UFA はほとんどコマンド、スイッチが同じ。
http://www.7-zip.com/
load: (name Uharc.exe) (type uha store fast norm *best) decode: (cmd x (arc.uha) (dir)) encode: (if (method 1) (cmd a -d2 -m0 -pr (arc.uha) (list\*.*))) (if (method 2) (cmd a -d2 -m1 -pr (arc.uha) (list\*.*))) (if (method 3) (cmd a -d2 -m2 -pr (arc.uha) (list\*.*))) (if (method 4) (cmd a -d2 -m3 -pr (arc.uha) (list\*.*)))
マルチメディアに強いらしい。 圧縮率はけっこう高く、速度もそれなりに出る。 バージョン 0.2 用。
load:
(name Uharc.exe)
(type uha store ALZ1 *ALZ2 ALZ3 PPM LZP password best?)
decode:
(cmd x -pw (arc))
encode:
(if (method 1) (cmd a -d2 -m0 -ed+ -r+ -pr (arc.uha) (resp@ (listr))))
(if (method 2) (cmd a -d2 -m1 -ed+ -r+ -pr (arc.uha) (resp@ (listr))))
(if (method 3) (cmd a -d2 -m2 -ed+ -r+ -pr (arc.uha) (resp@ (listr))))
(if (method 4) (cmd a -d2 -m3 -ed+ -r+ -pr (arc.uha) (resp@ (listr))))
(if (method 5) (cmd a -d2 -mx -ed+ -r+ -pr (arc.uha) (resp@ (listr))))
(if (method 6) (cmd a -d2 -mz -ed+ -r+ -pr (arc.uha) (resp@ (listr))))
(if (method 7) (exec
(let p (input " パスワードを入力 "))
(cmd a -d2 -mx -ed+ -r+ -pf -pw%p (arc.uha) (resp@ (listr)))))
(if (method 8) (cmd a -d2 -mx -ed+ -r+ -pr -md32768 (arc.uha) (resp@ (listr))))
decode1:
(cmd x -y+ (arc) (list))
list:
(scan "---" 1 "---" 1 0 l (arc))
いつの間にか出ていたバージョン 0.4 。
PPM での圧縮をサポートしたりと圧縮率、速度ともに向上している。
-ed+ オプションを使うことで、
空ディレクトリを格納するはずなんだけどうまくいかない。
展開時にパスワードを聞かれますが、
パスワードがかかっていないときはそのまま、
ENTER を押してください。
パスワードつきのときは二度パスワードを入れる必要があります。
パスワードがついているときは書庫内閲覧はできません。
圧縮率は PPM > ALZ3 > ALZ2 > ALZ1 > LZP です。
速度は圧縮率が低いほど速い。
PPM で圧縮するとかなり高い圧縮率となります。
load: (name uhbc.exe) (type uhbc DEC MTF *WFC DWFC) decode: (cmd d (arc) (arc-.uhbc)) encode1: (if (method 1) (cmd e (list) (arc+.uhbc) -b128m -m0)) (if (method 2) (cmd e (list) (arc+.uhbc) -b128m -m1)) (if (method 3) (cmd e (list) (arc+.uhbc) -b128m -m2)) (if (method 4) (cmd e (list) (arc+.uhbc) -b128m -m3))
DEC (Direct Entropy Coding), MTF (Move to Front), WFC (Weighted Frequency Count), DWFC (Double Weighted Frequency Count) とのことです。
RLE とエントロピーコーディングの間にどのフィルタを入れるかという違い、なのかな。
ファイルの拡張子はわからなかったので .uhbc にしておきました。
圧縮率はかなり高く、BZip2 を上回ります。
特にビットマップの圧縮率が非常に高かったです。
圧縮速度は決して遅くはなく、BZip2 の 3 倍程度、
解凍速度は BZip2 の 6 倍程度とやや遅く感じました。
load: (name Uhic.exe) (type uhic *default maximum) decode: (cmd d (arc)) encode1: (if (method 1) (cmd e (list) (arc.uhi))) (if (method 2) (cmd m (list) (arc.uhi)))
24 bit のイメージ圧縮向きだそうです。 PNG よりは圧縮できることが多いです。 復元しないと見ることはできませんが。
load: (name Wrt.exe) (type WRT *WRT binary) encode1: (cd E:\app\cli) (if (method 1) (cmd (list f) (arc+.wrt))) (if (method 2) (cmd -b -p (list f) (arc+.wrt))) decode: (cd E:\app\cli) (let d (dir)) (let n (arc-.wrt n)) (cmd (arc) %d%n)
このアプリケーションはファイルを圧縮するものではなく、圧縮しやすいような前処理をするものです。 処理後はファイルサイズが大きくなりますが、そのファイルをさらに別のアプリケーションで圧縮すると、よりファイルサイズを小さくすることができます。 PHP のドキュメント (HTML、英語、単一ファイル版) を BZip2 で圧縮したときは WRT で前処理を行ったほうが 5% くらい小さくなりました。 バイナリファイルに対しても前処理を行うことができますが、効果を感じることはできませんでした。 人が書いたプレーンテキストに対しては効果的ですが、プレーンテキストでもランダムなものやバイナリファイルに対しては効果が薄かったり逆効果になったりするかも。 処理の際にはアーカイブに一緒に入っている wrt.dic が必要。 この b2e を使うときには、E:\app\cli の部分を自分の環境にあわせて書き直す必要があります。 wrt.dic が C:\Windows\System32\wrt.dic にあるなら、C:\Windows\System32 にする。
例えば BZip2 と組み合わせて使うなら、下のような b2e を作れば一気に処理できます。
load:
(name Wrt.exe)
(type WRT+BZip2 *WRT binary)
encode1:
(cd E:\app\cli)
(if (method 1) (exec
(cmd (list f) (arc+.wrt))
(xcmd bzip2.exe -9vv (arc+.wrt))))
(if (method 2) (exec
(cmd -b -p (list f) (arc+.wrt))
(xcmd bzip2.exe -9vv (arc+.wrt))))
decode:
(xcmd bzip2.exe -dvv (arc))
(cd E:\app\cli)
(let d (dir))
(let n (arc-.wrt.bz2 n))
(cmd (arc-.bz2) %d%n)
(xcmd del (arc-.bz2))
でも実際にやってみると、(arc-.wrt.bz2) っていう指定はだめみたいで出力ファイル名は hogehoge.wrt.bz2.decompressed になります。 しかも BZip2 と組み合わせると Kill=T を追加しないといけなくなるので、decode: 部分は wrt をデコードするだけにしたほうがよさそう。
http://www.ii.uni.wroc.pl/~inikep/research/
load: (name x1dos.exe) (type X1 store *faster tighter) decode: (cmd x (arc)) encode: (if (method 1) (cmd am0r (arc.x) (list\*.*))) (if (method 2) (cmd am1l1r (arc.x) (list\*.*))) (if (method 3) (cmd am1l2r (arc.x) (list\*.*)))
挙動が非常に怪しいです。 ほかには ZIP, ARJ, LZH などのフォーマットもサポートしているようです。 拡張子を ARJ, LZH などと指定してやるだけ。 デフォルトは ZIP のようです。 実験中にしばしば強制終了させられました。 tighter メソッドでは実験は一度も成功してません。 そもそも送るコマンドが間違っているとか… 圧縮率は結構よいです。 ロングファイルネームを扱えます。
load: (name xpa32.exe) (type xpa xpa) decode: (cmd e (arc) (dir)) encode: (cmd a (arc.xpa) (list\*))
アーカイブできるはずなんだけど、encode 部をどう指定しても、
単一ファイルしか圧縮してくれない。
自分でコマンドラインからやるとできるんだけど。
アーカイブしたいときはフォルダをドロップしてください。
load: (name xtreme.exe) (type xtreme best *better small smallest recovery_record solid) decode: (cmd x (arc)) encode: (if (method 1) (cmd a -pm0 (arc.xtr) (list\*))) (if (method 2) (cmd a -pm1 (arc.xtr) (list\*))) (if (method 3) (cmd a -pm2 (arc.xtr) (list\*))) (if (method 4) (cmd a -pm3 (arc.xtr) (list\*))) (if (method 5) (cmd a -pc1 (arc.xtr) (list\*))) (if (method 6) (cmd a -s (arc.xtr) (list\*)))
拡張子なし。だから勝手に xtr にしてみた。 処理速度はかなり速いです。
load: (name Yac.exe) (type yac *normal fastest) decode: (cmd x (arc)) encode: (if (method 1) (cmd a (arc.yc) (list\*))) (if (method 2) (cmd a -bw -le0 -lx0 (arc.yc) (list\*)))
load: (name Ybs.exe) (type YBS *default maximum) decode: (cmd -d (arc)) encode: (if (method 1) (cmd -v (arc.ybs) (list\*))) (if (method 2) (cmd -m16m -v -r (arc.ybs) (list\*)))
圧縮展開の速度が高い上に圧縮率が高い。 これはびっくり。
http://compression.graphicon.ru/ybs/
load: (name yz2enc.exe) (type YZ2 *range_coder ppm password) encode: (let d (arc d)) (if (method 1) (cmd -j -d%d (list))) (if (method 2) (cmd -j --ppm-mode-on -d%d (list))) (if (method 3) (cmd -j -p -d%d (list))) sfxd: (let d (arc d)) (if (method 1) (cmd -j -d%d -sfx (list))) (if (method 2) (cmd -j --ppm-mode-on -d%d -sfx (list))) (if (method 3) (cmd -j -p -d%d -sfx (list)))
load: (name yz2dec.exe) decode: (let d (dir)) (cmd -d%d -j (arc)) decode1: (cmd -y (arc)) list: (scan "in name" 1 "--- Normal end ---" 1 -5 -l (arc))
SFX がうまくいかない。 拡張子 EXE のファイルは出力されるんだけど、拡張子が EXE になってるだけ。 ファイルひとつか、フォルダひとつを圧縮します。 速いうえに圧縮率が高い。
http://member.nifty.ne.jp/yamazaki/
load: (name zip.exe) (type ZAR fastest fast *max) decode: (cmd (arc) -e) encode: (if (method 1) (cmd (arc.zar) (list\*.* sn) -m -r)) (if (method 2) (cmd (arc.zar) (list\*.* sn) -s -r)) (if (method 3) (cmd (arc.zar) (list\*.* sn) -r))
ドイツ語ゆえよくわかりません。 圧縮率は低いです。 ロングファイル名は書き換えられます。
load: (name zet.exe) (type zet huge extra *normal fast fastest no solid multivolume) decode: (cmd x (arc)) encode: (if (method 1) (cmd a -eh -whs (arc.zet) (list\*))) (if (method 2) (cmd a -ex -whs (arc.zet) (list\*))) (if (method 3) (cmd a -en -whs (arc.zet) (list\*))) (if (method 4) (cmd a -ef -whs (arc.zet) (list\*))) (if (method 5) (cmd a -es -whs (arc.zet) (list\*))) (if (method 6) (cmd a -ez -whs (arc.zet) (list\*))) (if (method 7) (cmd a -ef -whs -v1474k (arc.zet) (list\*)))
マルチボリュームの拡張子は z01, z02, z03, ...
load: (name 7-zip32.dll) (type 7-zip%(zip%) store zip%(Deflate%) zip%(Deflate64%) zip%(BZip2%)) encode: (if (method 1) (cmd a -tzip -mm=Copy (arc.zip) (resp@ (listr)))) (if (method 2) (cmd a -tzip -mm=Deflate -mfb=255 -mpass=4 (arc.zip) (resp@ (listr)))) (if (method 3) (cmd a -tzip -mm=Deflate64 -mfb=255 -mpass=4 (arc.zip) (resp@ (listr)))) (if (method 4) (cmd a -tzip -mm=BZip2 -mfb=255 (arc.zip) (resp@ (listr))))
なにやら、7-zip が不思議なことになってるようなので作ってみた。
これは圧縮率優先で書いてるので、遅いかも。
Noah.ini で Kill=Z としておくと、
ZIP の解凍に 7-zip32.dll を使うようになるので、
Deflate64 形式や、BZip2 形式の ZIP ファイルを解凍できます。
しかし、7-zip32.dll は SFX の判定に弱いです。
UnZip32.dll では Deflate64 や BZip2 形式の ZIP は解凍できないです。
sfx は、なんかうまくいかない。
load: (name kzip.exe) (type zip kzip) encode: (cmd (arc.zip) (resp@ (listr)))
通常の ZIP ファイルと互換性を保ちながら 通常のファイルよりも高圧縮な ZIP ファイルを作成します。 いくつかのファイルで試してみたところ、 7-zip で作成した ZIP ファイルよりも最大で 2 % 程度小さくなりました。 逆に大きくなることもありますが、それでも通常の ZIP よりは小さくなります。 処理にかかる時間はかなり長いです。 ファイルが大きくなると、極端に遅くなることがありました。
http://www.advsys.net/ken/
load: (name BJWFlate.exe) (type zip *BJWFlate BJWFlate%(Athlon%)) encode: (if (method 1) (cmd (arc.zip) (list))) (if (method 2) (cmd -a (arc.zip) (list)))
通常の ZIP ファイルと互換性を保ったままで高圧縮なアーカイブを作成します。 7-zip や kzip で作成する ZIP ファイルほどは小さくできないことが多かったです。 また、処理にかかる時間が非常に長いです。 サブディレクトリを含むものを圧縮すると、ディレクトリ構造が壊れるので注意が必要です。
http://www.clrmame.com/download.htm
load: (name zoo.exe) (type zoo store *default high) decode: (cmd x (arc)) encode: (if (method 1) (cmd af (arc.zoo) (list\*))) (if (method 2) (cmd a (arc.zoo) (list\*))) (if (method 3) (cmd ah (arc.zoo) (list\*)))
いろんなところで言われているように早いが圧縮率は低い。 低いといっても開発が 1991 年であることを考えれば相当いいと思うけど。
http://www.vector.co.jp/soft/dos/util/se010831.html
load: (name Zpack.exe us) (type Zpack Zpack) decode: (cmd x (arc)) encode: (cmd a (arc.zpk) (list\*.*))
ドキュメントでは Zpack.exe と書いてあるのに、 アーカイブには Pack.exe が入っているため、 Pack.exe を Zpack.exe にリネームしています。 zilite というインストーラを作成するためのツール群として作られたもののようです。 これのほかに、インストール時に表示されるメッセージやインストール先の、 設定ファイルを作成する MAKEINST.EXE、 作られたインストール時の設定ファイルと、アーカイブファイルをくっつけて インストールパックを作成する ZI-BIND.EXE がアーカイブに含まれていました。 ちょっと手続きが面倒なので、Noah ではやりたくないです。 環境によっては、ダウンロードできる自己解凍形式のファイルを展開できず、 どうしようもないこともあります。 自宅 Windows 98 SE ではできませんでした。 圧縮率は高くないです。速度はまずまずといったところ。 ロングファイルネーム不可。 これまた、ショートファイルネームにしてコマンドを送ろうとすると変な動作をする。
load: (name Zzip.exe) (type zz *maximum multimedia) decode: (cmd x (arc)) encode: (if (method 1) (cmd a -mx -r (arc.zz) (list\*))) (if (method 2) (cmd a -mm -r (arc.zz) (list\*))) sfx: (xcmd zzip-sfx.exe (arc))
圧縮率は高めです。 バージョン間の互換性がほとんどありません。 0.36b で作成されたファイルは 0.36c で展開できません。 逆もまた然り。
http://www.debin.net/zzip/