在 Windows7 中使用 mklink

在 Windows7 中使用 mklink

我有两个usb闪存驱动器D:\H:\里面有一些bin文件

001.bin,002.bin在 D

003.bin 004.bin在H

我想创建一个符号链接,以便当程序访问时,C:\bins它将在001.bin,002.bin,003.bin,004.binUSB 驱动器中找到所有文件,并从 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.binc:\bins\d003.bin004.binc:\bins\h

相关内容