win7的mklink命令

在win7 CMD窗口下输入mklink,会得到如下提示

C:\Users\walker>mklink /?Creates a symbolic link.
MKLINK [[/D] | [/H] | [/J]] Link Target
/D      Creates a directory symbolic link.  Default is a file                symbolic link.

/H      Creates a hard link instead of a symbolic link. 

/J      Creates a Directory Junction. 

Link    specifies the new symbolic link name.

Target  specifies the path (relative or absolute) that the new link                refers to.

那么/d, /h, /j 到底有什么区别呢?以下是测试

1,建立测试文件夹source,并以管理员身份打开cmd,cd到source的父目录

2,用mklink /d used source建立一个目录,used是创建的目录名

3,用mklink /j usej source建立一个目录,usej是创建的目录名

4,查看生成的两个文件夹,发现用/d生成的是一个快捷方式,用/j生成的是junction目录,但是在win7下都是快捷方式图标

5,分别在生成的两个文件夹里增/删文件,三个文件夹均能看到同步改动

6,删除used,源文件夹和usej均无反应,重新用mklink添加回来

7,删除jsej,源文件夹和jsed均无反应,测试结束


对比,在xp下用junction生成的目录你删除是会把源目录删除掉的,万一用户没理解到这一点,把新文件夹删掉,就等着后悔吧。要安全移除,得用junction -d的参数才会只删除junction出来的目录而实验证明,在win7下,源目录始终都是安全的

此外,单独列出/h,mklink /h useh source,提示access denied, 那我就不找原因了。

posted @ 2011-06-20 10:47  $walker  阅读(1020)  评论(0编辑  收藏  举报