2006 年 10 月 19 日 23 時 55 分

ネットワークドライブの割り当て


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


[写真] [写真]


今まで説明してきたのは、シェルの機能であった。
何度も書いているが、シェルの機能は利用者のためにある。
一般のプログラムがシェルの機能を使うためには、
意識して複雑なプログラムコードを書く必要がある。

では、一般のプログラムが何も意識せずに、
利用できるリンク機能はないのだろうか。

実は、MS-DOS の時代からある代表的な機能がある。
それは、ネットワークドライブの割り当て機能だ。

Windows では、ネットワーク上にある、
ファイルサーバの共有フォルダに対して、
特別な作業をすることなくアクセス可能である。

マイネットワーク等から階層を辿るだけで、
いつの間にかネットワークフォルダに接続されている。

UNIX や Mac OS では、ネットワークボリュームを、
ファイルシステム上にマウントして使うのだが、
Windows には、ネットワーク上のフォルダを直接示す、
UNC というパス名の指定方法があるため、
マウントは自動的に行われ、処理は裏方に隠されている。

UNC は、Windows ネットワークのパス表記法の 1 つで、
\\server\share\path\to\filename.ext という形式だ。
これはカーネルレベル(シェルではない)の機能であり、
ファイル名が必要なあらゆる場所で使うことができる。
つまり、通常のプログラムでも利用することが可能である。

例えば、メモ帳などでファイルを開く際に、
\\server\share\path\to\filename.ext と入力し、
そのままネットワーク上のファイルを開くことができる。

しかしながら、古いプログラムには、
UNC を理解しない、又は取り扱えないものも存在する。
特に、MS-DOS 時代や、Windows 初期のものに多い。
それに、コマンドプロンプトでも、
UNC パスに移動することはできない。

そういう時に、ネットワークドライブの割り当て機能を使う。

ネットワークドライブの割り当て機能を使うと、
UNC パスを、使っていないドライブ名に関連付けることで、
ドライブ名を使ってファイルにアクセス可能となる。

例えば、\\server\share を、Z: に割り当てる場合、
\\server\share\path\to\filename.ext は、
Z:\path\to\filename.ext としても利用可能だ。

上記のパスは異なるが、同一のファイルを参照している。
なので、片方のパスでファイルを更新すると、
他方のパスでもその変更内容が確認できるのである。

つまり、Z:\ が \\server\share を指す
シンボリックリンクのように機能しているのだ。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.