第4章 InterDriveの管理 (仮想ドライブ)
4.5 ファイル名のマッピング
DOS のファイル名は、「最大8文字の名前+最大3文字までの拡張子」で 構成されています。NFS サーバとなるUNIXワークステーションは、通常 255 文字までのファイル名を許しており、DOS では使用できない文字も使 用することができます。
InterDrive は、UNIX で作成されたファイルを含むディレクトリをパソコン の仮想ドライブとしてマウントするとき、ファイル名の変換を行ないます。
ファイル名の変換は、ファイル名のマッピングともいい、ファイルのマッピ ングはマッピングテーブルを通して行なわれます。マッピングテーブルは、
ファイル名をどのように変換したかを記憶しておくテーブルで、デフォルト で 32 個 (最小値、EMS 未使用時) または 2048 個 (EMS 使用時) までのファ イル名が記憶できます。
マッピング状況の確認
マッピング前後のファイル名の対応は、「idls」または「idutil -d」で表示さ せることができます。下記に表示例を示します。
A:¥>idls
drwxrwxr-x 212 32 512 Jun 28 20:33:45 .
-rw-rw-r— 212 32 2230 Jun 28 20:25:54 sample.txt SAMPL~00.TXT -rw-rw-r— 212 32 2230 Jun 28 20:27:07 sample.sam.txt -rw-rw-r— 212 32 2230 Jun 28 20:27:16 s
S~~~~~00 -rw-rw-r— 212 32 2230 Jun 28 20:27:16 S -rw-rw-r— 212 32 2230 Jun 28 20:27:28 sa
SAMPL~00 -rw-rw-r— 212 32 2230 Jun 28 20:27:46 SAMPLE.TXT SAMPL~DQ -rw-rw-r— 212 32 2230 Jun 28 20:28:04 SAMPLE.SAM.TXT SAMPL~0E -rw-rw-r— 212 32 2230 Jun 28 20:28:42 sample.txt-0876
4
A:¥>dir
ドライブ F: のボリュームラベルは spankfire ディレクトリは J:¥
. <DIR> 94-06-28 20:33 SAMPLE TXT 2,230 94-06-28 20:25 SAMPL~00 TXT 2,230 94-06-28 20:27 S 2,230 94-06-28 20:27 S~~~~~00 2,230 94-06-28 20:27 SA 2,230 94-06-28 20:27 SAMPL~00 2,230 94-06-28 20:27 SAMPL~DQ 2,230 94-06-28 20:28 SAMPL~0E 2,230 94-06-28 20:28
8 個 16,168 バイトのファイルがあります 86,958,080 バイトの空きがあります
変換後のファイル名
UNIX で作成されたファイル名が小文字†1 であり、DOS のファイル名のルー ルに適合していれば、同じ名前のまま大文字で表示されます。前述の例で は、「sample.txt」、「s」、「sa」です。
UNIX のファイル名に大文字が含まれる場合、マッピングテーブルを通して ファイル名の変換が行なわれます†2 。また、ファイル名が DOS のファイル 名のルールに適合していない場合も変換が行なわれます。
また、3文字以内の拡張子が付いているファイル名の場合、変換後も同じ拡 張子が付きます。
ファイル名が変換される場合、変換後のファイル名において、6文字目はチ ルダ「˜ 」、7、8文字目は英数字となります。5文字に満たない UNIX のファ イル名が変換された場合、変換されたファイル名は、˜ で埋められ、全体も
†1 UNIX では小文字を使用することが慣習として定着しています。
†2 pctcp.ini ファイル [pctcp idrive filesys] セクションに「fat = yes」を記述すると、小 文字が含まれるファイル名を変換します。
4
文字数は 8 文字になります。前述の例では「S」です。
マッピング文字の変更
変換後のファイル名に含まれる「˜ 」をマッピング文字といい、pctcp.ini に 記述することにより変更できます。アプリケーションによっては「˜ 」の 入ったファイル名を作業用ファイルとして使用する場合があります。
InterDrive と併用して矛盾が生じる場合、マッピング文字を別の文字に設定 してください。
[pctcp idrive]
map-char = mapping-character
mapping-character として記述することができる文字を下記に示します。
@、˜ 、$、%、(、)、^ 、!、#、&、{、}
マッピングテーブルのサイズ
マッピングテーブルは、ファイル名をどのように変換したかを記憶しておく テーブルで、デフォルトで 2048 個 (EMS 使用時) または 32 個 (最小値、EMS 未使用時) までのファイル名が記憶できます†3 。
マッピングテーブルのサイズが小さい場合、InterDrive は全ての変換の内容 を記憶しておけないため、ファイルに対する操作の度にテーブル内容の書き 換えが起こり、同じファイルが違ったファイル名に変換される可能性があり ます (ファイル名末尾の数字の部分)。
このような現象が起こる場合、idrive -n count コマンドでマッピングテーブ ルのサイズを大きくしてください。下記に、マップテーブルサイズを 512 に 設定する場合のコマンド行を示します。既に、idrive.exe が常駐している場
†3 idrive.exe が常駐するときにパソコン上に EMS メモリが検出されれば (config.sys に EMS のドライバが組み込まれていれば)、InterDriveは自動的に EMS メモリを使用 します(これはインストール時におけるデフォルトです)。
4
合、idrive.exe をアンロードしてから、実行してください。
A:¥>idrive -n 512
また、-e オプションは、-n count オプションより優先し、設定可能な最大値 2048 個が EMSメモリに確保されます。
A:¥>idrive -e