Pages

Thursday, 28 March 2013

win7平台下,用mklink命令创建符号链接



对Linux平台了解的朋友都知道ln命令,可以很方便的创建目录或者文件的符号链接(又称软链接)。符号链接其实和windows平台下的快捷方式类似,但是比快捷方式强大的多。它的好处是可以让一个目录或者文件有多个入口但保持单一的物理地址,方便管理我们自己电脑的应用和文件。

windows vista和win7也引入了一个DOS命令可以方便的创建符号链接,那就是mklink,mklink命令用法如下:
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和/J这两个参数后面跟绝对地址的时候是没有任何区别的。

举个例子,在桌面上创建一个符号链接,链接到E盘的一个文件夹(Android的开发目录),后续可以通过桌面最快速的进入。
1mklink /d Android_workspace E:\Android\workspace

符号链接的目录和文件可以直接删除,对原目录和原文件没有任何影响.
---------------------------------------------
Windows 7下的 mklink命令详解

mklink是Windows 7下的一个类似于linux下In的命令,其作用是在NTFS文件系统中创建文件或目录的链接(类似于桌面快捷方式)。如果加以利用其发挥的作用是非常的大的,不仅可以帮助我们节省不少时间,而且可以使我们重装系统后不再丢失用户文件。

Mklink命令详细介绍

Windows 7下的mklink命令通过指定参数可以建立出不同形式的文件或目录链接,分为硬链接(hard link)、符号链接(symbolic link)和软链接(联接)(junction)三种。

1.符号链接(symbolic link)

建立一个软链接相当于建立一个文件(或目录),这个文件(或目录)用于指向别的文件(或目录),和win的快捷方式有些类似。删除这个链接,对原来的文件(或目录)没有影像没有任何影响;而当你删除原文件(或目录)时,再打开链接则会提示“位置不可用”。

2.软链接(联接)(junction)

作用基本和符号链接类似。区别在于,软链接在建立时会自动引用原文件(或目录)的绝对路径,而符号链接允许相对路径的引用。

3.硬链接(hard link)

建立一个硬链接相当于给文件建立了一个别名,例如对1.TXT创建了名字为2.TXT的硬链接,若使用记事本对1.TXT进行修改,则2.TXT也同时被修改,若删除1.TXT,则2.TXT依然存在,且内容与1.TXT一样。
建立链接请注意:
1、建立文件或目录链接限于 NTFS 文件系统,符号(软)链接的建立可以跨文件系统;
2、硬链接只能用于文件,不能用于目录,符号(软)链接可以为目录建立链接;
3、硬链接只能建立同一分区内的文件指向;
4、硬链接不允许对空文件建立链接,符号(软)链接可以。

Mklink的参数定义

无参数指定:建立文件的符号链接。无参数指定的默认情况下,建立的是文件的符号链接,删除链接文件不会影响源文件,
/d:建立目录的符号链接符号链接(symbolic link)
/j:建立目录的软链接(联接)(junction)
/h:建立文件的硬链接(hard link)
命令格式:mklink /d(定义参数) \MyDocs(链接文件) \Users\User1\Documents(原文件)
最后,至于删除建立的链接,跟删除文件一样使用”DEL”命令。

Mklink命令用途

转移系统中的用户设置文件
Windows 7中将用户设置与系统文件分离,所有的用户设置及用户文件都存储在C盘下的User目录(在中文版Windows 7中显示为“用户”目录),重装系统后所有的系统设置及用户文件都会消失。
Windows 7安装完成后可以将C盘下的User目录转移到非系统分区,如D盘,这样,重装系统后只要重新将C盘下的User目录链接到D盘即可。我们在创建链接后系统在访问C:/User目录其实是在访问D:/User目录。
命令如下
1.复制User目录到D盘: robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ
2.强制删除User目录: rmdir “C:\Users” /S /Q
3.创建C盘下的User的软件链接,链接到D盘User目录:mklink /J “C:\Users” “D:\Users”
重装系统后只需重复第二条和第三条命令及可
有了这条命令就再也不怕重新装系统了.
-------------------------------------------
相关帖子 http://briteming.blogspot.com/2013/02/windows-mklinklinkd.html