junction.exe 是 Sysinternals 出品的命令行工具,其可以创建和删除符号链接。
要创建一个符号连接:
junction连接名称 要连接哪一个目录
例如:
C:\>junction test_www d:\www
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright ? 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Created: C:\test_www
Targetted at: d:\www
用资源管理器打开c:\test_www可以看到和d:\www一样的内容。修改一边的文件,另一边的也会同步更新(其实本就没有两份,符号连接就像一个映射)。
要删除一个符号连接:
C:\>junction -d c:\test_www
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright ? 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Deleted c:\test_www.
junction D:\LINK D:\WINDOWS意思是创建一个名为D:\LINK的junction目录,指向D:\WINDOWS ,可以看到D:\LINK和D:\WINDOWS文件夹内容一模一样,如果你对其中任意一个文件夹里面的内容做修改,另一个也会相应的改变。而且磁盘空间使用量没有改变哦,因为只是实现连接罢了,并不是将原文件复制以及同步。
如果你不想要这个连接目录,以及目录中的所有内容,直接按Shift + Delete删除好了。
如果你只是想删除这个连接目录,但是保留原目录中的内容,则应该使用junction的 -d参数进行删除。例如:junction -d D:\LINK
应用举例:
假设 C: 盘空间不够,C:\Program Files 中有些软件已经找不到安装,我们可以将 C:\Program Files\???????? 中的一些软件移动到 E:\???????? 某个目录(移动时要保证这个软件没有文件处于正在使用的锁定状态),在做一个到 C:\Program Files\???????? 的 JUNCTION 目录连接,问题就圆满解决了。:)
更多应用还等待大家慢慢发掘。
其它:
junction.exe 工具只是在 NTFS 驱动器中创建和删除 junction 目录,自身并不会驻留内存占用系统资源,执行完毕会立即退出。
junction 目录是 NTFS 文件系统的一个特性,所以 junction 目录并不是 Sysinternals “发明”的,而是微软。