我有两个usb闪存驱动器D:\
,H:\
里面有一些bin文件
001.bin,002.bin
在 D
003.bin 004.bin
在H
我想创建一个符号链接,以便当程序访问时,C:\bins
它将在001.bin,002.bin,003.bin,004.bin
USB 驱动器中找到所有文件,并从 USB 驱动器访问它们。
我怎样才能做到这一点?
答案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
。您应该能够使用以下命令在 下构建两个目录连接C:\bins
。
>mklink /D /J "C:\bins\d" "D:\"
>mklink /D /J "C:\bins\h" "H:\"
这将为您提供c:\bins\d
以及c:\bins\h
您将在中001.bin
找到的和。002.bin
c:\bins\d
003.bin
004.bin
c:\bins\h