Windows7 で mklink を使用する

Windows7 で mklink を使用する

私はUSBフラッシュドライブを2つ持っていてD:\H:\その中にはbinファイルがいくつか入っています

001.bin,002.binDに

003.bin 004.binHに

プログラムがアクセスしたときに、USB ドライブC:\bins内のすべてのファイルを検索し、USB ドライブからそれらにアクセスするようなシンボリック リンクを作成したいと考えています。001.bin,002.bin,003.bin,004.bin

これどうやってするの?

答え1

1つのシンボリックリンクで2つのディレクトリを結合することは不可能です。リンクは1つのターゲットしか持てないからです。これはジャンクションやシンボリックリンクにも同様に当てはまります。(Linuxでは、これはVFS層で仮想ファイルシステムを使って実現できます。オーバーレイまたはユニオン; 他の Unix 系システムにも、同様の「ユニオン マウント」の概念があります。残念ながら、Windows にはそのようなものはありません。

ただし、.binファイル名が常に同じである場合は、ファイルへのシンボリックリンクを直接作成できます。

mkdir c:\bins
mklink /f c:\bins\001.bin d:\001.bin
mklink /f c:\bins\002.bin d:\002.bin
mklink /f c:\bins\003.bin h:\003.bin
mklink /f c:\bins\004.bin h:\004.bin
...and so on

これは次のように書き直すことができます。

for /f %f in (d:\*.bin) do mklink /f "c:\bins\%~nxf" "%~f"
for /f %f in (h:\*.bin) do mklink /f "c:\bins\%~nxf" "%~f"

答え2

D:およびのファイルをH:内で兄弟として表示することはできないと思いますC:\bins。 の下に 2 つのディレクトリ ジャンクションを構築するには、次のコマンドを使用できますC:\bins

>mklink /D /J "C:\bins\d" "D:\"
>mklink /D /J "C:\bins\h" "H:\"

これにより、 およびc:\bins\dがのどこにあり、が のどこc:\bins\hにあるのかがわかります。001.bin002.binc:\bins\d003.bin004.binc:\bins\h

関連情報