http://technet.microsoft.com/en-us/Sysinternals/Bb896768.aspx
"可以直接拷贝到win32目录下,这样可以直接cmd 运行"
NTFS 新特性:Junction 应用详解
前些时无意发现 Vista 的 C:/Documents and Settings 目录和 C:/Users 目录内容完全一样(可能需要调整权限你才能浏览),而且你在这两个目录中对任意一个目录内容做改变,另一个也会做相应的改变,很是“神奇”,后来经过一番探索+搜索,终于有了结果,好东西不敢独享,拿出来给大家分享!
开始还以为是 Vista 的什么新功能,慢慢才发现原来是 NTFS 的 Junction 目录功能,Windows 似乎没有提供任何 Junction 相关工具,后来终于在 Sysinternals 发现了 junction.exe 这个小工具,下面就演示 junction.exe 来介绍 junction.exe 工具。
junction.exe 是 Sysinternals 出品的命令行工具。使用前建议将其复制到%SystemRoot%/system32目录下,下面开始演示其主要功能!
创建 junction 目录:
我们先用 dir 查看当前 D:/ 目录结构:
接着运行 junction D:/LINK D:/WINDOWS ,命令的意思是创建一个名为 D:/LINK 的 junction 目录,指向 D:/WINDOWS ,该命令瞬间执行完成。接着在执行 dir 命令查看目录结构,发现多了一个名字为 LINK ,类型为 JUNCTION 的目录。
我们去资源管理器查看一下,可以看到 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 “发明”的,而是微软。
junction 下载地址:
http://download.sysinternals.com/Files/Junction.zip
适用于使用 NTFS 的 NT 系列系统
顺便说下 Vista 中 C:/Users 是原目录,C:/Documents and Settings 是连接到 C:/Users 上的,也许微软觉得 C:/Documents and Settings 太长太难记了所以在 Vista 中改 C:/Users 了,又怕部分老软件有兼容问题所以还留个 C:/Documents and Settings 连接目录