Windows NT では、あるディレクトリを別のディレクトリの上に重ねることは可能ですか?
たとえば、次のようなディレクトリがあります:
C:\foo
そこには、zoo.txt
次のような別のディレクトリがあります:
C:\bar\baz
その中にファイルが入っていますmuseum.txt
。
C:\foo\museum.txt
について話したり、自動的に取得したりできるようにしたいと思いますC:\bar\baz\museum.txt
。
さらに、という名前のファイルC:\bar\baz\zoo.txt
が作成された場合は、参照するときにそのファイルを使用します。C:\foo\zoo.txt
C:\foo\qux.txt
最後に、私が実際にそのファイルを表示させたい名前のファイルを作成しC:\bar\baz\qux.txt
、オーバーレイマウントまたはこれを実現するために使用しているメカニズムをキャンセルすると、そのファイルはC:\foo\qux.txt
こういったことは可能でしょうか?
基本的に、ベンダー提供のディレクトリがあり、その上にソース コードを重ねてコンパイルする必要があります。ただし、実際のベンダー提供のディレクトリは、ベンダーから出荷されたときの状態のままにしておきたいのです。
現在、このディレクトリのバックアップが保存されており、ソース コードがビルドされる前にバックアップから復元され、現在のバージョンのソース コードがその上にコピーされます。これは非常に非効率的で、エラーが発生しやすくなります。
答え1
あなたが尋ねているのはシンボリックリンク/ハードリンク/ジャンクションポイント。
できることは、baz
で前述のリンク/ポイントの 1 つを作成しC:\bar
、それをC:\foo
ターゲットとして にポイントすることです。これで、C:\bar\baz
通常のディレクトリのようにアクセスして扱うことができ、それに対して行う操作 (ほとんどの場合) は、実際には で実行されますC:\foo
。