3F 圧縮・解凍コマンドライン
Last Updated:2003/02/09
■トップ ■ダウンロード ■圧縮解凍の部屋 ■掲示板 ■リンク
  
 ■コマンドラインとは?
 MS-DOSの時代は、CUI(Charactor User Interface)と言って、ユーザーが命令をコンピュータに伝えることにより、コンピュータは命令にあった処理を行っていました。
 そして、WindowsはGUI(Graphical User Interface)に変わり、マウスをクリックするだけでコンピュータに処理を行うことができるようになり便利になりました。MS-DOSを扱っていない方にとって、実際にVisual BasicなどでアーカイバDLLを扱うのは難しいと思われます。そのためのページを作成しました。
 (ちなみに店長はパソコン歴4年と若い方ですが、最初の2年弱はMS-DOSやWindows 3.1を扱ってました)
 ■[Arc]()コマンドラインについて
 アーカイバDLLのコマンドライン(APIの第2引数にあたる部分)は一部を除き以下の書式で表現されています。

  [コマンド] [[-スイッチ]...] [アーカイブ名][拡張子] [ベースフォルダ] [パス|ファイル名]

   [コマンド]      どの操作(圧縮、解凍、リスト表示など)を行うか
   [-スイッチ]      どんな形の圧縮(解凍)を行うか
   [アーカイブ名]   生成(解凍)するアーカイブファイル名
   [ベースフォルダ] 圧縮(解凍)する基準となるフォルダのパス
   [パス|ファイル名] どのファイルを扱うか


 UNLHA32.DLLは、基本的にMS-DOS上で実行されるLHA.EXEのコマンド体系に準拠されいます。

  [UNLHA32.DLL] a "test.lzh" "C:\" *.txt

 上記の意味は「Cドライブのルートフォルダにあるすべての.TXTのファイルを圧縮せよ」と表現しています。
 もし、サブディレクトリを圧縮したい場合、

  [UNLHA32.DLL] a -d1 "test.lzh" "C:\TEST\" *.*

 上記の意味は「C:\TESTというフォルダとそのサブディレクトリにあるすべてのファイルを圧縮せよ」と表現しています。

 逆に解凍する場合、

  [UNLHA32.DLL] x -r1 "test.lzh" "C:\TEST\" *.*

 上記の意味は「アーカイブ内にあるすべてのファイルをC:\TESTというフォルダ上にフォルダ構造を保持して解凍せよ」と表現されます。

 なお、TAR32.DLLではディレクトリの指定に-oオプションが必要です。

  [TAR32.DLL] -xvf "test.tar" -o "C:\TEST\" *.*

 また、UNBEL32.DLLでは命令は不要となります。

  [UNBEL32.DLL] "test.bel" "C:\TEST\" *.*

 ■コマンドを使い分ける
  コマンドは、アーカイバDLLによって異なりますので、表にまとめました。
アーカイバDLL 圧縮 N圧縮 解凍 F解凍 更新 検査 一覧 SFX 詳細 削除 注釈 ヘ変
UNLHA32.DLL a u e x f t l s v d c y
UNZIP32.DLL **** **** -x,-xv -x,-xv **** -t -l,-lv **** -v -d -z,-Z ****
CAB32.DLL a **** x x **** c,t l f **** **** **** ****
TAR32.DLL -cvf **** -xvf -xvf **** **** -tvf **** **** **** **** ****
ZIP32J.DLL -r -r **** **** -f,-u **** **** -sfx **** -d -z ****
UNARJ32J.DLL **** **** e,ev x,xv **** t l,lv **** v **** **** ****
UNRAR32.DLL **** **** -e -x **** **** -l **** -v **** **** ****
BGA32.DLL a **** x x **** t l,lv s **** d **** ****
YZ1.DLL c **** x x **** **** **** **** **** **** **** ****
UNBEL32.DLL <<コマンドは不要>>
UNGCA32.DLL **** **** e,ex e,ex **** t l **** **** **** **** ****
7-Zip32.DLL a **** e x u t l **** **** d **** ****
UNIMP32.DLL **** **** **** -o **** **** **** **** **** **** **** ****
備考:N圧縮:新規追加圧縮,F解凍:フォルダ解凍,SFX:自己解凍書庫を作成,へ変:ヘッダ変更,****は未対応
 レスポンスファイル 240x141 12KB
 アーカイバなどで複数のファイルを圧縮する場合、コマンドラインを1つ1つ入れていくとDLLが扱えるコマンドラインの長さを超えてしまうことがあります。それを回避するものが「レスポンスファイル」です。「レスポンスファイル」にファイル名を入れて使うと1回のコマンドで複数の書庫やファイルなどを扱うことが可能になります。レスポンスファイルには命令やスイッチなども記載することができます。

 レスポンスファイルの指定は以下の通りとなります。
 [UNLHA32.DLL] a -d1a1 "test2.lzh" "C:\test\" @response.lst
 上記の意味は「C:\TESTというフォルダにおいて、response.lstというレスポンスファイルに記載されているコマンドラインに基づいたファイルを圧縮せよ」と表現されます。

Copyright (C)2000-2003 H.Matsumura(Macchan),All Rights Reserved.
■ ホームページに戻る ■ ■ 圧縮解凍の部屋に戻る ■