home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 1 / FREEWARE.BIN / ms_dos / lharc / lharc.doc next >
Text File  |  1989-10-17  |  26KB  |  739 lines

  1.  
  2. ------------------------------------------------------------------------
  3.  
  4.                 高圧縮書庫管理プログラム  使用の手引き
  5.  
  6.                           LHarc version 1.13c
  7.  
  8.         Copyright(c) Haruyasu Yoshizaki (吉崎栄泰, Yoshi), 1988-89.
  9.  
  10.                                                 Nifty Serve  PFF00253
  11.                                                 ASCII pcs    pcs02846
  12.  
  13. ------------------------------------------------------ 1989 - 5 - 21 ---
  14.  
  15.  
  16.  
  17. 0.はじめに
  18.  
  19.   翔泳社刊の「ハードディスク・クックブック」を読んでからというものは、ぜ
  20. ひとも、自分で高圧縮の書庫管理プログラム(アーカイバ)を作りたいと思って
  21. いました。  NiftyのFSDR(ソフト・デビュー&レビュー  フォーラム)
  22. に入会し、三木さんのLArcをはじめて知り、PKPAK/PKARCよりも
  23. 一般的に高圧縮を実現しているのには驚いてしまいました。  この直後、奥村さ
  24. んのLZARI法に接して、どのようなファイルにおいてもさらに高圧縮になっ
  25. ているのには、さらに驚嘆の声を上げてしまいました。  そこで、LZARI法
  26. を高速化しようと、CからASMに書き換えたのですが、とくに解凍の遅さは私
  27. の我慢できる限界を越えていました。 LZSS法に適応的Huffman法を
  28. 組み合わせると、同等の圧縮率を得られるのではないか?  これがLZHUF法
  29. の発端です。  LZHUF法を組み込んだアーカイバがLHarcです。
  30.  
  31.   まだ、バグがあるかとは思いますが、低速+高圧縮+未完成のアーカイバをお
  32. 試しください。  「Time is money.」ではなく「Space is money.」という方には
  33. 最適と思います。
  34.  
  35. ------------------------------------------------------------------------
  36. <ダウンロードしたファイルをとりあえず解凍したい方へ>
  37.  
  38.  .LZH という拡張子の付いたファイルは LHarc で圧縮されています。このファ
  39. イルから元のファイルを復元するには次のコマンドを入力してください。
  40.  
  41. A>lharc e ファイル名
  42.   ^^^^^^^^^^^^^^^^^^
  43.   この部分を入力してください。
  44.  
  45. ------------------------------------------------------------------------
  46.  
  47. 1. 使用法
  48.  
  49.   [書式]
  50.  
  51.    LHarc  [<命令>] [/<スイッチ>[-|+|2|<オプション>]] <書庫名>
  52.                 [<基準ディレクトリ名>\|<ドライブ名>:] [<パス名> ...]
  53.  
  54.  
  55.     ☆ スイッチは命令よりも後であれば「どこに」指定してもかまいません。
  56.       また、複数のスイッチを続けて指定することもできます。
  57.  
  58.     ☆ LHarc のみを入力すると使用法を表示します。
  59.  
  60.  
  61.   《命令》
  62.  
  63.     a (Add)
  64.  
  65.        ファイルを凍結(圧縮)して書庫(archive)に追加・更新します。書庫が
  66.       存在しなければ、作成します。書庫の中に同じ名前のファイルがあるとき
  67.       には強制的に書き換えます。
  68.  
  69.     u (Update)
  70.  
  71.        a コマンドと同様に書庫にファイルを追加・更新しますが、書庫の中に
  72.       同じ名前のファイルがあるときには更新日時の照合を行い、新しい方を書
  73.       庫に残します。/c スイッチを設定すると a コマンドと同じ動作をします。
  74.  
  75.     m (Move)
  76.  
  77.        u コマンドと同様にファイルを更新日時の照合を行いながら書庫に追加・
  78.       更新しますが、凍結元のファイルを削除します。/c スイッチが設定されて
  79.       いると日時照合をしません。なお、名前が合致すると実際には凍結されな
  80.       かった古いファイルも削除しますので、注意して使ってください。
  81.  
  82.     f (Freshen)
  83.  
  84.         書庫の中のファイルと同名のファイルを探し、更新日時の新しいものが
  85.       あれば書き換えます。/c スイッチが設定されていると日時照合をしません。
  86.  
  87.     e (Extract) または x (eXtract)
  88.  
  89.        書庫からファイルを解凍(復元して取り出)します。更新日時の新しい
  90.       ファイルがあると通常はスキップしますが、/c スイッチを設定すると解凍
  91.       可能です。LArc の Ver. 3.xx で作成された書庫の解凍も、type 4, 5 の
  92.       みという制限つきで可能です。
  93.  
  94.     p (Print)
  95.  
  96.         書庫内のファイルを解凍して標準出力に表示します。また、/v スイッチ
  97.       を設定すると作業ファイルに一時保存し、指定された閲覧ユーティリティ
  98.       ーを起動します。既定値では less が起動されます。
  99.  
  100.     d (Delete)
  101.  
  102.         書庫の中のファイルを削除します。
  103.  
  104.     l (List)
  105.  
  106.         書庫内のファイルの一覧表を表示します。
  107.  
  108.         /x スイッチを設定していないときは1ファイル1行表示となり、ファイ
  109.       ル名のみが表示されます。書庫にパス名も記録されているときには、ファ
  110.       イル名の前に '+' が表示されます。
  111.  
  112.         /x スイッチを設定したときには1ファイル2行表示となり、記録されて
  113.       いるパス名をそのまま全て表示します。
  114.  
  115.     v (View)
  116.  
  117.         l /x と同じです。
  118.  
  119.     s (Self-extract)
  120.  
  121.         既存の書庫から自己解凍ファイルを作成します。基準ディレクトリが指
  122.       定されていれば、このディレクトリ上に作成します。
  123.  
  124.        /x スイッチが指定されていると large版の自己解凍ルーチンが組み込ま
  125.       れます。このとき、/k スイッチでキーワードを設定すると、自動実行機能
  126.       が使用可能となります。
  127.  
  128.     t (Test)
  129.  
  130.         書庫内のファイルの CRC コードをテストします。
  131.  
  132.  
  133.  
  134.    命令を省略したときには l コマンドを指定したものとみなされます。ただし、
  135.   暫定仕様ですので、将来変更するかもしれません。
  136.  
  137.  
  138.   《スイッチ》
  139.  
  140.       / につづけてスペースをいれずに指定します。複数個のスイッチを一度に
  141.     指定してもかまいません。このとき、w, v スイッチに文字列が続くときは、
  142.     一番最後に指定してください(例 /rxwa: /cxvfive など)。
  143.                                       ^^^    ^^^^^
  144.      スイッチのあとに '-' , '+' , '2' を指定することもできます。'-' を指
  145.     定すると解除、'+' を指定すると設定を、指定がないときは設定が反転しま
  146.     す。また、r, v スイッチでは '2' を指定すると特別なモードとなります。
  147.  
  148.      スイッチは将来の拡張にそなえ、大文字は使用できません。かならず小文
  149.     字で指定してください。
  150.  
  151.  
  152.     /x[-|+] (eXtend)
  153.  
  154.       ファイルの出し入れの時にディレクトリ名を追加します。
  155.  
  156.         たとえば、\tc\include\sys\stat.h というファイルをルートディレクト
  157.       リを基準に凍結するとき、無設定のときは STAT.H というファイル名のみ
  158.       を記憶しますが、このスイッチを設定すると TC\INCLUDE\SYS\STAT.H と、
  159.       ディレクトリ名付きで格納します。解凍のときも、このスイッチが設定さ
  160.       れていると、ディレクトリ名が記録されていれば、そのディレクトリ上に
  161.       解凍します。また、l コマンドにおいても記録されているパス名をそのま
  162.       ま出力する2行表示モードとなります。
  163.  
  164.        /r スイッチが設定されたときには、同時に設定される仕様としました。
  165.       /r スイッチを設定し、/x スイッチを解除したいときには、/r よりもあと
  166.       に /x- を指定してください。
  167.  
  168.  
  169.        また、s コマンドでこのスイッチを指定すると、large版の自己解凍ファ
  170.       イルを作成します。
  171.  
  172.  
  173.     /p[-|+] (Precise)
  174.  
  175.       ファイル名の検索を厳密に行います。
  176.  
  177.        たとえば、書庫 TC に STAT.H と SYS\STAT.H というファイル名の同じ
  178.       2つのファイルがあるとき、
  179.  
  180.         LHarc e TC stat.h
  181.  
  182.       とすると、両方のファイルが解凍されてしまいます。そこで、
  183.  
  184.         LHarc e /p TC stat.h
  185.  
  186.       とすることによって STAT.H のみが解凍できます。逆に、
  187.  
  188.         LHarc e TC sys\stat.h
  189.  
  190.       とすることで、SYS\STAT.H だけが解凍されます。
  191.  
  192.  
  193.     /c[-|+] (ignore Comparison of time)
  194.  
  195.       凍結・解凍のときに日時照合を行わない
  196.  
  197.        u, f, e, x コマンドにおいて、転送先にパス名が同じで更新日時の新し
  198.       いファイルがすでに存在していると、通常は凍結・解凍しません。このス
  199.       イッチを設定すると、日時照合を無視します。
  200.  
  201.  
  202.     /m[-|+] (no Message)
  203.  
  204.         問い合わせを行わず、問い合わせにたいして、すべて 'Y' が入力された
  205.       ものとして処理を続けます。
  206.  
  207.  
  208.     /a[-|+] (any Attribute)
  209.  
  210.       すべての属性のファイルを凍結の対象とします。
  211.  
  212.        通常、アーカイブ属性以外の属性が指定されたファイルは、凍結されま
  213.       せんが、このスイッチを設定すると凍結可能となります。
  214.  
  215.  
  216.     /r[-|+|2] (Recursive)
  217.  
  218.       凍結時にファイルを再帰的に収集します。
  219.  
  220.  
  221.       ファイルの収集には3つのモードがあります。
  222.  
  223.       (a) 非再帰モード(既定値、もしくは /r- で指定)
  224.  
  225.            パス名で指定されたファイルだけを凍結します。
  226.  
  227.       (b) ファイル名指定再帰モード(/r もしくは /r+ で指定)
  228.  
  229.            ディレクトリ名とファイル名を切り離し、指定されたディレクトリ
  230.           以下のファイルを再帰的に検索し、ファイル名と一致するものを凍結
  231.           します。共通の名前を持ったファイルをまとめて凍結するときに使い
  232.           ます。
  233.  
  234.       (c) 完全再帰モード(/r2 で指定)
  235.  
  236.            パス名で指定されたパス以下の全てのファイルを凍結します。ディ
  237.           レクトリ構造をまとめて凍結するときに使います。
  238.  
  239.        /r スイッチを (b), (c) に設定したときには、/x スイッチも同時に設
  240.       定される仕様としました。/x スイッチを解除したいときには、/r よりも
  241.       あとに /x- を指定してください。
  242.  
  243.  
  244.     /w[-|+|<作業ディレクトリ名>] (Work directory)
  245.  
  246.       作業ファイルを作成するディレクトリを指定します。
  247.  
  248.        /w に作業ディレクトリ名を続けると、/w+ が指定されたものと見なしま
  249.       す。指定がなければ書庫と同じディレクトリに作業ファイルを作成し、処
  250.       理が終了した時点で作業ファイルの名前を書庫名に変更します。作業ディ
  251.       レクトリ名の指定なしに /w+ のみが指定されたときには、カレント・ドラ
  252.       イブのカレント・ディレクトリに作業ファイルを作成します。
  253.  
  254.        環境変数 'TMP' によって作業ディレクトリを設定しているときにも、/w
  255.       スイッチが設定されます。
  256.  
  257.  
  258.        このスイッチは下記の場合に有効と思われます。
  259.  
  260.       1. 書庫のあるディレクトリ(ドライブ)に作業ファイルを作成する余裕が
  261.          ないとき。
  262.  
  263.       2. RAM disk や HARD disk などの高速デバイスに作業ファイルを作成する
  264.          ことにより、処理を高速化したいとき。
  265.  
  266.  
  267.     /v[-|+|2|<ユーティリティ名>] (View by pager)
  268.  
  269.       p コマンドの出力をファイル閲覧ユーティリティで閲覧します。
  270.  
  271.        このスイッチを設定すると、書庫内のファイルを 'LHARC.TMP' という作
  272.       業ファイルに解凍し、その後、ファイル閲覧ユーティリティを起動します。
  273.       終了後、このファイルは削除されます。ファイル閲覧ユーティリティとし
  274.       て通常は less が起動されますが、/v に続けてプログラム名を指定すると
  275.       more や five などを起動することも可能です。このときには、/v+ も同時
  276.       に指定されたものと見なします。/v2 を指定すると書庫名・ファイル名な
  277.       どの情報を出力しません。バイナリー・ファイルを dump や jhd などで閲
  278.       覧するときに指定してください。
  279.  
  280.  
  281.     /n[-|+] (No indicator)
  282.  
  283.       凍結・解凍時の ooo..... という表示をしません。
  284.  
  285.        本バージョンではこの表示を標準エラー出力に表示しています。したが
  286.       って、標準出力をリダイレクトしても表示されてしまいます。このスイッ
  287.       チを指定するとこの表示を抑制します。
  288.  
  289.  
  290.     /k<キーワード> (Key word)
  291.  
  292.       自己解凍ファイルの自動実行機能を有効にするキーワードを設定します。
  293.  
  294.         lharc s /x /kon ARCHIVE
  295.  
  296.       とすると、large版の自己解凍ファイルを作成し、キーワード 'on' を記録
  297.       します。自己解凍ファイルの実行時、
  298.  
  299.        ARCHIVE on
  300.  
  301.       と、同じキーワードを指定したときのみ、AUTOLARC.BAT が実行されます。
  302.  
  303.  
  304.     /t[-|+] (Time stamp)
  305.  
  306.       書庫の更新日時を、書庫内のファイルの最新の物に合わせます。
  307.  
  308.        書庫を更新するコマンド(a, u, m, f, d)で有効です。このスイッチが
  309.       指定されていないときには、書庫を更新した時刻そのものが書庫の更新日
  310.       時となります。
  311.  
  312.  
  313.   《書庫名》
  314.  
  315.      書庫のパス名を指定します。書庫の形式は LArc と同じですが、混乱を避
  316.     けるために拡張子を .LZH としました。書庫の更新を伴う命令では、拡張子
  317.     が .LZH 以外のファイル名を指定すると、処理を継続するかどうかの確認を
  318.     行います。
  319.  
  320.      e, x, p, t, l, v, s の各コマンドにおいてはワイルドカードの使用も可
  321.     能です。
  322.  
  323.  
  324.   《基準ディレクトリ名》
  325.  
  326.      基準ディレクトリ名を指定すると、あたかもこのディレクトリがカレント・
  327.     ドライブのカレント・ディレクトリであるかのように扱います。最後の文字
  328.     は、必ず '\' か ':' で終わってください。<パス名>もしくは書庫内に記
  329.     録されているファイル名の先頭にドライブ指定や '\' がないときには、この
  330.     前に<基準ディレクトリ名>を追加し、パス名として取り扱います。凍結時
  331.     には書庫内には<パス名>部分だけが記録され、基準ディレクトリ名は書き
  332.     込まれません。
  333.  
  334.     (例)下記のディレクトリ構造の下で、
  335.  
  336.                            |-- BIN --
  337.                            |
  338.           |-- \ --|-- TC --|-- LIB --
  339.                            |
  340.                            |-- INCLUDE --|-- SYS --|-- STAT.H
  341.  
  342.           ルートディレクトリから
  343.  
  344.               lharc a /r ex tc\include\ stat.h
  345.  
  346.           を実行すると \tc\include\sys\stat.h が SYS\STAT.H という名前で
  347.           書庫内に凍結されます。
  348.  
  349.  
  350.   《パス名》
  351.  
  352.      凍結・解凍するファイルのパス名を指定します。パス名を省略すると、d 
  353.     コマンドを除いて '*.*' が入力されたものと判断します。ワイルドカードは
  354.     LArcとは違い、MS-DOSと同じ取り扱いをします。したがってファ
  355.     イル名部分にのみ使用可能です。ただし、完全再帰モードではパス名の最後
  356.     の部分にもワイルド・カードを使用できます。
  357.  
  358.  
  359.  [補足事項]
  360.  
  361.     ● パス名・ディレクトリ名・ファイル名
  362.  
  363.      用語を統一するため、以下のように定義しました。
  364.  
  365.         a:\tc\include\stdio.h
  366.         |<----- パス名 ---->|
  367.         |<---------->||<--->|
  368.        ディレクトリ名  ファイル名
  369.  
  370.  
  371.     ● いわゆる「スイッチ・キャラクター」の取り扱いについて
  372.  
  373.       ファンクション・コール 37h を使って、スイッチを示す文字を '/' から
  374.     他の文字に変更しているときには、スイッチの前にその文字を付けてくださ
  375.     い。このときにはディレクトリの区切り文字として '/' を使用することも可
  376.     能となります。また、スイッチ・キャラクターの設定のいかんを問わず、'-'
  377.     はスイッチ・キャラクターとして使用できます。
  378.  
  379.     (ただし、MS-DOS 3.xx 以外では正常に動作しない可能性があります。)
  380.  
  381.  
  382. 2.環境変数でのスイッチの指定
  383.  
  384.      環境変数 'LHARC' でスイッチを指定することができます。
  385.  
  386.  
  387.     (例)
  388.  
  389.     A>set lharc=/we: /r2        ワーク・ファイルをドライブ E: のカレント・
  390.                                 ディレクトリに作成します。また、ファイル
  391.                                 を完全再帰モードで収集します。
  392.  
  393.     また、環境変数 'TMP' でワ-ク・ディレクトリを指定することも可能です。
  394.     ただし、/w による指定が優先されます。
  395.  
  396.  
  397. 3.自己解凍ファイルについて
  398.  
  399.      そのファイルを実行することにより、その中に凍結格納していたファイル
  400.     を解凍・展開する機能を持った、いわば移動書庫です。
  401.  
  402.      small版と large版の2種類の解凍ルーチンを用意しましたので、必要に応
  403.     じて使い分けてください。
  404.  
  405.  
  406.  A. 作成法
  407.  
  408.      まず、通常の書庫をあらかじめ用意しておきます。ついで s コマンドによ
  409.     り自己解凍ファイルを作成します。
  410.  
  411.         LHarc s [/x] [/kキーワード]  書庫名  ファイル名
  412.  
  413.     [ ] 内のオプションはあとで説明します。
  414.  
  415.  
  416.   B. 「small版」と「large版」の違い
  417.  
  418.     1. small版
  419.  
  420.        テロップ機能のみをサポートしています。この版では解凍時にファイル
  421.       全体がメモリーに入らなければ解凍できません。
  422.  
  423.     2. large版
  424.  
  425.        このファイルを作成するときには次のように /x スイッチを指定します。
  426.  
  427.           lharc s /x 書庫名
  428.  
  429.        拡張子は常に .EXE となります。
  430.  
  431.        この版では、テロップ機能のほか、自動実行・ディレクトリの再現・解
  432.       凍するディレクトリの指定ができます。また、ファイルサイズの制限があ
  433.       りませんので、たとえば 1 Mbytes の自己解凍ファイルでも解凍可能です。
  434.  
  435.       (注)MS-DOS 2.xx においては、自分自身のプログラム名やディレクトリ
  436.             名を知る手段が用意されていません。このため、カレントディレク
  437.             トリを自己解凍ファイルの存在するディレクトリに移動してから実
  438.             行してください。
  439.  
  440.         large版の解凍時の書式をまとめると
  441.  
  442.              ファイル名 [キーワード] [/e解凍先ディレクトリ] [/x] [/a]
  443.  
  444.         となります。
  445.  
  446.  
  447.  C. 自己解凍ファイルの便利なオプション機能
  448.  
  449.     1) テロップ機能(両版とも使用可能)
  450.  
  451.        解凍するファイル中に '!' という名前のファイルがあるときは、テロッ
  452.       プとして表示し、最後に [Y/N] を問い合わせます。'Y' を入力すると解凍
  453.       を実行し、'N' を入力すると中止します。
  454.  
  455.     2) 自動実行機能(large版のみ)
  456.  
  457.        書庫内に AUTOLARC.BAT が存在するとき、作成時に /k スイッチでキー
  458.       ワードを指定してやると、自動実行が可能となります。たとえば
  459.  
  460.         lharc s /x /kon ARCHIVE
  461.  
  462.       とすることにより、自動実行可能な ARCHIVE.EXE が作成されます。/x は
  463.       large版を選択するためです。small版では /k を指定しても自動実行はで
  464.       きません。
  465.  
  466.        解凍時に、同じキーワードを指定すると、AUTOLARC.BAT を実行します。
  467.       つまり、上の例では
  468.  
  469.         ARCHIVE on
  470.  
  471.       と入力すると、解凍終了後、AUTOLARC.BAT が実行されます。キーワードは
  472.       大文字/小文字も区別しますので注意してください。
  473.       ^^^^^^^^^^^^^^
  474.        自己解凍起動時にキーワードを入力しなければ、解凍のみを行って自動
  475.       実行しませんので、AUTOLARC.BAT を使ったイタズラはある程度防止できる
  476.       と思います。
  477.  
  478.     3) ディレクトリの指定・再現(large版のみ)
  479.  
  480.        解凍時に /e に続けてディレクトリを指定するとそのディレクトリ上に
  481.       解凍します。たとえば
  482.  
  483.         ARCHIVE /ea:\
  484.  
  485.       とすると、ドライブ A のルート・ディレクトリに解凍されます。
  486.  
  487.        自己解凍起動時に /x スイッチを指定すると書庫内に記録されていたデ
  488.       ィレクトリ名が有効になります。/e スイッチで解凍するディレクトリが指
  489.       定されているときには、そのディレクトリ上のサブ・ディレクトリ上に解
  490.       凍されることになります。ただし、記録されているディレクトリの先頭が 
  491.       '\' のときは例外で、ルート・ディレクトリを基準に解凍されます。
  492.  
  493.        AUTOLARC.BAT は /e スイッチの指定にかかわらず、カレント・ドライブ
  494.       のカレント・ディレクトリに解凍されます。
  495.  
  496.        なお、指定されたディレクトリが存在しないときは確認なしに自動的に
  497.       作成します。                  ^^^^^^^^^^
  498.  
  499.     4) 属性の復活(large版のみ)
  500.  
  501.        自己解凍起動時に /a スイッチを指定すると書庫内に記録されていた属
  502.       性が有効となり、復活されます。指定しなければ、全てのファイルは通常
  503.       の属性(0x20)で解凍されます。
  504.  
  505.  
  506.   D. LHarc.exe による自己解凍ファイルの解凍・閲覧
  507.  
  508.         LHarc ver.1.13b 以降では、e, x, p, t, l, v, s コマンドにおいて、
  509.       自己解凍ファイルを書庫と同等に扱うことができます。このときには書庫
  510.       名の代わりに自己解凍ファイルの名前を .com または .exe の拡張子付き
  511.       で入力してください。
  512.  
  513.        なお、この機能を使って新しい自己解凍ファイルを作成すると、元のフ
  514.       ァイルに上書きしてしまう可能性がありますので、あらかじめバック・ア
  515.       ップを取るなど注意してください。
  516.  
  517.  
  518. 4.書庫ファイルの形式について
  519.  
  520.       書庫ファイルのヘッダはLArcと同じ形式です。凍結法の識別子は
  521.  
  522.       -lh0-    そのまま格納
  523.       -lh1-    LZHUF法で圧縮して格納
  524.  
  525.      の2種類です。
  526.  
  527.     ●解凍のときには、LArc 3.xx で作成された書庫のうち、type 4, 5 で格納
  528.       されたファイルの解凍も可能です。
  529.  
  530.  
  531. 5.終了コード
  532.  
  533.       バッチファイルなどに返される終了コードは以下のとおりです。
  534.  
  535.     0   正常終了。
  536.  
  537.     1   凍結のとき、存在しないファイル名を無視して実行を終了した。書庫は
  538.       更新された。または解凍のとき、CRCエラーが起きた。
  539.  
  540.     2   致命的なエラーなどのため処理を中止した。書庫は更新されていない。
  541.         作業ディレクトリを指定していて、新書庫を作成するディスクの容量が
  542.         不足したときには作業ファイル LHARC.)2( が作業ディレクトリ上に残る。
  543.  
  544.     3   作業ファイルを書庫に書き戻せなかった。書庫は削除され、作業ファイ
  545.         ル LHARC.)2( が残っている。(あらかじめ、書き戻せるかどうかのチェ
  546.         ックを行っているので、通常、このエラーは起こらない。)
  547.  
  548.     作業ファイル LHARC.)2( は書庫の形式を保っているので、リネームして書庫
  549.     として使用可能である。
  550.  
  551.  
  552. 6.作業ファイル名
  553.  
  554.     LHARC.)1(  旧書庫をリネームしたもの
  555.     LHARC.)2(  新書庫を作るための作業ファイル
  556.     LHARC.TMP  ファイルの閲覧を他のユーティリティで行うときの作業ファイル
  557.  
  558.     これらのファイル名がすでに存在していたときの動作は保証されません。
  559.  
  560.  
  561. 7.再配布について
  562.  
  563.     以下の条件で、再配布・転載・改変は制限しません。
  564.  
  565.     1.著作権表示を変更しないこと。
  566.     2.この手引も同時に配布すること(印刷物でもよい)。
  567.     3.改変を加えたときには、そのソース・リストを実行ファイルとともに公
  568.         開すること。このとき、変更が加えられていることを明示すること。
  569.     4.最新版の再配布に努めること(義務はないが)。
  570.     5.このプログラムを使用したことによって生じた損害は、全く保証しない。
  571.     6.作者は、このプログラムに不備があっても、それを訂正する義務を負わ
  572.         ない。
  573.     7.商利用に関しては上記の条件に加え、下記の条件のもとにこれを認める。
  574.  
  575.       a.LHarc を含む商品の全てのディスクが MS-DOS システムの DISKCOPY
  576.           コマンドによりコピーできること。
  577.       b.商品のパッケージ・マニュアル・ディスクラベルの全てに著作権表示
  578.           を明示すること。
  579.       c.商品のパッケージ・マニュアル・ディスクラベルのいずれかに、この
  580.           再配布の条件を明示すること。
  581.  
  582.     なお、LHarc によって作成された自己解凍ファイルの配布についてはまったく
  583.     自由ですが、著作権表示だけは残してください。
  584.  
  585.  
  586. 8.最後に
  587.  
  588.      LZHUF法の基礎となったLZARI法を発表してくださった奥村晴彦
  589.     さん。  それをNiftyに紹介してくださり、また、LArcの作者でも
  590.     ある三木和彦さんに深謝いたします。 そのほか、レポートや、いろいろな
  591.     要望を寄せてくれた皆様、ありがとうございます。
  592.  
  593.      なお、閲覧ユーティリティの起動に pcs27162 S.Takanami さんの execute
  594.     関数を使用させていただきました。これにより、本体サイズが2Kバイト以
  595.     上小さくなりました。ありがとうございます。
  596.  
  597.  
  598.      改訂を重ねてきたLHarcですが、まだ、いろいろなバグや問題点があ
  599.     るものと思われます。要望・使用感なども含め、NIFTY-Serve・
  600.     SDR工房(FLABO)の会議室およびASCII-pcsの salon.pool, junk.
  601.     test などでレポートをお願いいたします。
  602.  
  603.  
  604.     [連絡先]
  605.  
  606.      〒080 帯広市東4条南19丁目 帯広協会病院 内科
  607.  
  608.  
  609. 9.参考資料
  610.  
  611.    1) AP-Labo 編著:ハードディスク・クックブック, 翔泳社(1987).
  612.  
  613.    2) 栗田多喜夫:コンピューティングの玉手箱 43, ハフマン符号化法, bit,
  614.       Vol.20, No.7, pp.100-101 (1988).
  615.  
  616.    3) 三木和彦:LArcに付属の資料
  617.  
  618.  
  619. 10.変更点一覧
  620.  
  621.   ★ Ver. 0.01 でのおもな変更点
  622.  
  623.     1.自己解凍ファイルのサポート
  624.     2.p コマンドの追加
  625.     3./c スイッチの適応範囲を広げた
  626.     4.エラー処理の変更
  627.     5.l コマンドでのバグの訂正
  628.     6.パス名のソートの算法を一部変更した
  629.  
  630.   ★ Ver. 0.02 でのおもな変更点
  631.  
  632.     1.m コマンドの追加
  633.     2.LArc 3.xx で作成した書庫の解凍を一部サポート(type 4, 5 のみ)
  634.     3.スイッチ・キャラクタを変更しているシステムへの対応
  635.     4.e コマンドなどでの細かいバグの訂正
  636.     5.l コマンドの仕様を変更
  637.  
  638.   ★ Ver. 0.03 でのおもな変更点
  639.  
  640.     1.環境変数 'LHARC' でスイッチの指定を可能とした
  641.     2.スイッチで '+', '-' の指定を可能とした
  642.     3./v スイッチの追加
  643.     4.書庫名にワイルドカードを使えるようにした(explvs の各コマンド)
  644.     5.基準ディレクトリの取り出しのときのバグを訂正(漢字の2バイト目が
  645.       '\' と同じコードのとき)
  646.     6.自己解凍ファイルのEXEヘッダーの設定のバグを訂正
  647.  
  648.   ★ Ver. 0.04 でのおもな変更点
  649.  
  650.     1.環境変数 'TMP' のサポート
  651.     2.p コマンドで /v スイッチを指定したときにエラーが起きると、処理中
  652.       のファイルと同名のファイルが削除されてしまうバグの訂正
  653.     3.自己解凍ファイルの作成のときに、同名のファイルがすでに存在すると
  654.       きには確認するようにした
  655.     4.自己解凍ファイルで、同名でサイズの大きいファイルがすでに存在して
  656.       いるとき、OVERWRITE しても元のファイルのゴミが残ってしまうバグの
  657.       訂正
  658.  
  659.   ★ Ver. 0.05 でのおもな変更点
  660.  
  661.     1.CRC チェックの追加(自己解凍ファイルも)
  662.     2.a, u, m コマンドにおける完全再帰モードの追加
  663.     3.MS-DOS 3.3 の append 命令への対応
  664.     4.ワーク・ディレクトリ指定の制限を緩和(最後に '\' を付けなくても良
  665.       い)
  666.  
  667.   ★ Ver. 0.06 でのおもな変更点
  668.  
  669.     1.u, m, f コマンドで書庫が更新されなかったときには書庫を書き換えな
  670.       い
  671.     2.f コマンドのバグを訂正(ファイル属性の読み違い)
  672.  
  673.   ★ Ver. 0.06b でのおもな変更点
  674.  
  675.     1.書庫が更新されなかったときに破損クラスタができる可能性をなくした
  676.     2.p コマンドでリダイレクトしたときに '+' が混入するバグを訂正
  677.  
  678.   ★ Ver. 0.07 でのおもな変更点
  679.  
  680.     1.書き込み禁止属性の付いた書庫に対する処理を訂正
  681.     2.m コマンドの処理を変更(古いファイルも削除)
  682.     3.書庫名にワイルド・カードを使ったときのエラー処理を変更
  683.     4.命令を省略したときには l コマンドとみなすことにした
  684.     5.解凍中に CRC エラーが起きたとき、終了コード1を返すように訂正
  685.     6.自己解凍ファイルで CRC エラーが起きたときにはそこで異常終了する
  686.     7.自己解凍ファイルの作成のとき、ディレクトリ名が含まれていると CRC
  687.       を落としてしまうバグを訂正
  688.  
  689.   ★ Ver. 0.07a でのおもな変更点
  690.  
  691.     1.Ver. 0.05 ~ 0.07 のヒープ領域を破壊してしまうバグを修正
  692.     2.特殊な属性の付いたディレクトリに対応
  693.  
  694.   ★ Ver. 0.07c でのおもな変更点
  695.  
  696.     1.メモリー不足を検出できないバグを修正
  697.     2.自己解凍プログラムを小型化した
  698.  
  699.   ★ Ver. 1.00 でのおもな変更点
  700.  
  701.     1.作業ファイルを作らないモードを追加した。
  702.     2./r スイッチを設定したときには、/x スイッチも同時に設定するように
  703.       した
  704.  
  705.   ★ Ver. 1.12 でのおもな変更点
  706.  
  707.     1.書庫のテスト機能(t command)
  708.     2.画面表示の変更
  709.     3.サイズが 0 のファイルを凍結・解凍したときの CRC エラーを訂正
  710.     4.自己解凍ルーチンの変更(2種類のルーチンを用意した)
  711.  
  712.   ★ Ver. 1.13 でのおもな変更点
  713.  
  714.     1./t スイッチを追加
  715.     2.経過表示の変更(エスケープ・シーケンスの排除/標準エラーへ)
  716.     3.自己解凍ルーチン large版のバグ・フィクス
  717.     4.自己解凍ルーチン large版で属性の復活を可能にした(/a スイッチ)
  718.     5.MS-DOS 2.11 で自分自身のパス名を取得する試みを行った
  719.     6.自己解凍時にファイル名に '$' の文字があると表示が正しく行われない
  720.         点を改善した
  721.  
  722.   ★ Ver. 1.13b でのおもな変更点
  723.  
  724.     1./t スイッチを指定したときには、書庫が更新されなくてもタイム・スタ
  725.         ンプを合わせるようにした。
  726.     2.e, x, p, t, l, v, s コマンドにおいて自己解凍ファイルも書庫として
  727.         取り扱えるようにした。
  728.     3.B:, D: ドライブなどに解凍するときに経過表示が出ないバグを訂正
  729.  
  730.   ★ Ver. 1.13c でのおもな変更点
  731.  
  732.     1.理論的に解凍不能な書庫を作成してしまう可能性を排除した。
  733.     2.書庫が指定されたディレクトリ上に作成可能かどうかのチェックをあら
  734.         かじめ行うようにした。
  735.     3.作業ファイルを使用したとき、新書庫を作成するスペースが残っている
  736.         かどうかをチェックし、作成できないときは旧書庫も保存するようにし
  737.         た。
  738.  
  739.