windows系统下的文件夹链接功能mklink/linkd

vista及以上系统的mklink命令可以创建文件夹的链接(感觉像是文件夹的映射)。因为是从底层实现文件夹链接,所以这个链接是对应用程序透明的。

(windows 2000,xp,server 2003的相应功能是linkd,这里只说说mklink)
比如,我有一个文件夹叫C:Program Files,但是c盘空间不多了,就想把一些应用程序转移到d盘,但是直接剪切过去肯定行不通,应用程序会报错,所以首先把C:Program Files文件夹整个移动(剪切)到d盘,再执行命令:

1
mklink /j "C:Program Files" "D:Program Files"

这样c盘下面就会多出一个带快捷方式图标的文件夹,全称就是"C:Program Files",双击进去其实就转到了D:Program Files。

而C:Program Files这个文件夹是对应用程序透明的,也就是说,除了windows自己,应用程序并不知道C:Program Files下面的东西其实已经转移到d盘了,还当它们仍然在c盘。这样就不影响原来C:Program Files下的应用程序的使用了。

1,上面建立的链接属于软链接(/j),还有符号链接(/d)和文件的硬链接(/h)。

符号链接和软链接大致相同,区别在于,软链接是绝对路径链接,而符号链接允许相对路径的链接。

比如,分别创建c:data mp的符号链接c:1和软链接c:2,那么c:1指向的就是同级文件夹下的data文件夹下的子文件夹tmp,而c:2指向的是c:data mp这样的绝对路径。影响就是,如果把c:1和c:2这两个文件夹移动到d盘,那d:1的链接就失效了,而d:2仍然有效。

文件的硬链接是对文件创建的链接,比如对c:data1.txt创建链接c:data2.txt,那么这两个文件就是同一个文件的两个等价别名了,相当于是指向同一个硬盘存储空间的两个指针,删除其中任何一个都不影响另一个文件。但是限制就是这种链接不能跨分区。

2,软链接和符号链接不能跨磁盘。

3,这个功能必须是在ntfs文件系统上才能使用。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据