-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfiber.txt
323 lines (201 loc) · 9.28 KB
/
fiber.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
; English document follows after Japanese document.
File Inspect and Broking End Resolver -- fiber --
Copyright (C) 1997-2021 Shuichi Kitaguchi <kit@ysnb.net>
COPYRIGHT
---------
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either versions 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with fiber, see the file COPYING. If not, write to the Free
Software Foundation Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
======================== JAPANESE DOCUMENT ========================
これは何をするもの?
-------------------
fiber は大きくわけて 2 つの機能を持っています
o ファイルの中身を調べてその種類を決定する
o Windows の「関連付け」を用いてファイルを実行する
例えば、foo_file という中身が JPEG のファイルがあったとします。
> fiber foo_file
とすると、fiber は foo_file を foo_file.jpg にコピーした後、
foo_file.jpg に関連付けられたアプリケーションを実行します(後には
foo_file.jpg というファイルが残ります)。
つまり拡張子が付いていない、もしくは何なのかわからないファイルも
fiber を使えば適切なアプリケーションで実行できるわけです。もちろん
fiber も万能ではないので、対応できていないファイル形式は山ほどありま
すが(限られたものしか対応してないとも言う)。
使い方
------
> fiber [オプション] <ファイル>
オプション:
-e ext 拡張子を "ext" だとみなす
-s 同期モード
-a ext=ident(,offset) 拡張子データをレジストリに追加
-l 設定と拡張子の一覧表示
-r num 拡張子データをレジストリから削除
-i レジストリのデータを初期値に戻す
-o Option={num,yes/no} 設定オプション
設定オプション | 説明 (初期値)
-------------------+----------------------------------------------------
ExtNum | fiber がサポートする拡張子の最大値 (64)
ExecuteUnknownExt | レジストリに登録されてない拡張子を実行する (yes)
ExecuteURL | URL(ftp:,http:,...)を実行する (yes)
TrustExt | fiber が判断したものとファイル名の拡張子が異なって
| いた場合、ファイル名の拡張子を信用する (yes)
OverrideExt | fiber が知らない拡張子であった場合、fiber が判断
| した拡張子で上書きして実行する (no)
ファイル:
・拡張子なしファイル名
・Windows で関連付けられている、拡張子付きファイル名
・URL(http://..., ftp://...)
実行例
------
1. 拡張子の指定 (-e)
> fiber -e jpg foo.dat
とすると、fiber は foo.dat が JPEG ファイルであると考え、foo.dat を
foo.dat.jpg にコピーした後、foo.dat.jpg を実行します
2. 同期モード (-s)
(例1) 通常の場合
> fiber foo.jpg
すぐにプロンプトに戻ってきます
(例2) -s オプション付きの場合
> fiber -s foo
foo を foo.ext にコピーした後、実行しているアプリケーションの終了
を待ってからプロンプトに戻ってきます。またこの場合は、foo.ext は
残らずに消去されます。
3. 拡張子データの追加 (-a)
fiber が識別できる拡張子は、ユーザが自由に追加することができます。
追加するには、
> fiber -a 拡張子名=識別子(,オフセット値)
のように設定します。オフセット値を指定しなかった場合は 0 になります。
(例1) ".mid" を追加したい場合
.mid ファイルのフォーマットは、
ファイルの先頭
|
V
0 1 2 3 4 5 6 7 (バイト)
+---+---+---+---+---+---+---+---
| M | T | h | d | ? | ? | ? | ? ...
+---+---+---+---+---+---+---+---
となっているので、
> fiber -a mid=MThd
もしくは
> fiber -a mid=MThd,0
と設定します
(例2) ".wav" を追加したい場合
.wav ファイルのフォーマットは、
ファイルの先頭
|
V
0 1 2 3 4 5 6 7 8 9 10 11 12 (バイト)
+---+---+---+---+---+---+---+---+---+---+---+---+---
| ? | ? | ? | ? | ? | ? | ? | ? | W | A | V | E | ? ...
+---+---+---+---+---+---+---+---+---+---+---+---+---
となっているので、
> fiber -a wav=WAVE,8
と指定します
4. 設定オプションの変更 (-o)
(例1) サポートする拡張子数を 128 にする
> fiber -o ExtNum=128
(例2) fiber が知らない拡張子のファイルを実行しないようにする
> fiber -o ExecuteUnknownExt=no
その他
------
o レジストリキーの "HKEY_CURRENT_USER\SOFTWARE\GNU\Fiber" が存在しなければ、
自動的にキーが作成されて初期値が書き込まれます
o もっと沢山の情報が得たいなら、fiber.c を見ましょう(^^;
======================== ENGLISH DOCUMENT ========================
WHATS THIS?
-----------
Fiber has the following two facilities.
1. Inspect the specified file and decide its file type.
2. Execute a file by `File Association' provided by Windows.
For example, provided that "foo_file" is a JPEG file, this invocation:
> fiber foo_file
at first copies foo_file to foo_file.jpg, then executes a proper
application that is associated with the extention `jpg'
(foo_file.jpg remains as an aftereffect).
Thus fiber can execute a file which has no extensions. Of course,
not all files can be executed by fiber because there are lots of
file formats that fiber still can not handle. ;-)
USAGE
-----
> fiber [option] <file>
option:
-e ext assume that the extention is "ext".
-s synchronous mode.
-a ext=ident(,offset) add ext to database.
-l list options and database.
-r num remove ext indentified by num from database.
-i initialize database.
-o Option={num,yes/no} set option.
Option | Explanation.(default value)
---------------------+------------------------------------------------
ExtNum | ext max numbers fiber supported
ExecuteUnknownExt | execute for unknown file ext.(yes)
ExecuteURL | execute URL(ftp:,http:,...).(yes)
TrustExt | trust ext that filename has.(yes)
OverrideExt | override ext if filename has unknown ext.(no)
file:
filename without ext.
files that Windows can ShellExecute(Ex) (with ext).
URL(http://...)
EXAMPLES
--------
1. SPECIFYING FILE EXTENSION (-e)
> fiber -e jpg foo.dat
Fiber assumes foo.dat is a JPEG file,
copies foo.dat to foo.dat.jpg and executes foo.dat.jpg.
2. SYNCHRONOUS MODE (-s)
(ex.1) Without "-s" option:
> fiber foo.jpg
fiber returns to command prompt immediately.
(ex.2) However, with "-s" option
> fiber -s foo
fiber copies foo to foo.ext, executes foo.ext, waits until the invoked
execution finishes, and deletes foo.ext.
3. ADDING NEW EXTENSIONS (-a)
You can add new extensions to fiber as below:
> fiber -a extension_name=identification(,offset_value)
If offset_value is omitted, it is considered to be 0.
(ex.1) ".mid" file
Since .mid format is:
file's head
|
V
0 1 2 3 4 5 6 7 (bytes)
+---+---+---+---+---+---+---+---
| M | T | h | d | ? | ? | ? | ? ...
+---+---+---+---+---+---+---+---
you should specify
> fiber -a mid=MThd
or
> fiber -a mid=MThd,0
(ex.2) ".wav" file
Since .wav format is:
file's head
|
V
0 1 2 3 4 5 6 7 8 9 10 11 12 (bytes)
+---+---+---+---+---+---+---+---+---+---+---+---+---
| ? | ? | ? | ? | ? | ? | ? | ? | W | A | V | E | ? ...
+---+---+---+---+---+---+---+---+---+---+---+---+---
you should specify
> fiber -a wav=WAVE,8
4. CHANGING OPTIONS (-o)
(ex.1) Set the number of supported files to 128.
> fiber -o ExtNum=128
(ex.2) Not execute files that have unknown extensions.
> fiber -o ExecuteUnknownExt=no
REMARKS
-------
o If the registry key "HKEY_CURRENT_USER\SOFTWARE\GNU\Fiber"
does not exist, fiber creates it and writes initial values.
o For more information, see fiber.c :-)
;; document ends here.