Fiber のつかいかた (1.x.x 用)
目的
Fiber の基本的な目的は、拡張子のないファイルの中身を調べて、そのファイルが何かを調べることです。また、元ファイルを拡張子を付けた名前にコピーし、関連付けを実行します。
例:
中身が JPEG である foo というファイルがあった時、
> fiber foo
とすると foo -> foo.jpg とコピーし、.jpg に関連付けられたプログラム(この場合は画像ビュア)を起動する。
中身が JPEG である foo.jpg というファイルがあった時は、
> fiber foo.jpg
とすると .jpg に関連付けられたプログラム(この場合は画像ビュア)を起動する。
また、URL もそのまま実行可能です(IE3.x 以上のインストールが必要かも)。
例:
> fiber http://www.Mew.org/
デフォルトのブラウザで、http://www.Mew.org/ を表示します。
オプション
- -i
レジストリに存在する、Fiber が使用するデータベースを初期化(デフォルト値に設定)します。
- -e ext
拡張子を明示的に指定します。
- -s
同期モード。通常は、外部プログラムを起動した後 Fiber はすぐに終了しますが、同期モードでは外部プログラムの終了を待ちます。
また同期モードでかつ拡張子が付いたファイルにコピーしていた場合(foo --> foo.jpg)は、コピーしたファイルファイル(foo.jpg)を削除します。
- -a ext=ident[,offset]
拡張子をデータベースに追加します。記述方法は後述します。
- -l
現在有効なオプションの一覧と、登録されている拡張子の一覧を表示します。
- -r num
num で指定される番号の拡張子を、データベースから削除します。
num は -l オプションで表示されるものを指定します。
- -o Option=[num,yes/no]
オプションを設定します。指定方法は後述します。
拡張子データの指定方法
Fiber がファイルの識別に使うデータの記述方法は、以下の通りです。
ext=ident[,offset]
- ext
拡張子
- ident
識別子。ファイル中に存在する、あるデータ列を示します。
基本的には文字列を指定します。16 進数(0x??)/10 進数(??)/8 進数(0??)/2 進数(0b????????) の指定も可能ですが、エラーチェックが甘いのでお勧めしません。
- offset(省略した場合は 0)
ファイル先頭から識別子がある場所までのバイト数を示します。
例:
- .MID ファイル
ファイルの先頭から M T h d という文字列が並んでいます。
--> mid=MThd
もしくは、
--> mid=MThd,0
- .WAV ファイル
先頭から 8 バイト空けて W A V E という文字列が並んでいます。
--> wav=WAVE,8
オプション
Fiber が使用するオプションは、以下の通りです(括弧内はデフォルト値)。
- ExtNum (64)
Fiber が扱える拡張子の最大数を指定します。
- ExecuteUnknownExt (no)
Fiber のデータベースに登録されている拡張子を実行するかどうかを指定します。
yes なら fiber のデータベースに登録されていない拡張子も実行され、no なら登録されていない拡張子は実行されません。
- ExecuteURL (yes)
URL を実行するかどうかを指定します。
yes なら URL を実行し、no なら URL を実行しないようになります。
- TrustExt (yes)
ファイルに元から拡張子が付いていて、その拡張子が Fiber のデータベースに存在する場合、その拡張子を信用するかどうかを指定します。
yes の場合はその拡張子のまま実行し、no であれば Fiber のデータベースに登録されている情報を元にして判断します。
- OverrideExt (yes)
ファイルに元から拡張子が付いていたが、その拡張子は Fiber のデータベースに存在しない場合、Fiber のデータベースにあるものを優先するかどうかを指定します。
foo.gif という中身が JPEG であるファイルは、このオプションが yes であれば foo.gif.jpgというファイルにコピーされて実行され、no であれば foo.gif のまま実行されます。
なお、これらのキーは HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Fiber に書かれています。
それから、最新情報は、fiber.c の先頭に書かれています。
Mew on Win32 Project のページへ
意見/要望/文句は 北口 修一 <kit@Mew.org> まで