Win10 mklink 命令怎么用,mklink 命令使用教程
之前提到帮助一位网友清理C盘的时候,发现他的 iTunes 备份文件夹非常大,于是用 mklink 命令把 iTunes 备份文件夹转移到了 D 盘。
于是我觉得 mklink 这个命令值得好好研究一下,所以我把我研究验证的在 Windows 10 下的 mklink 命令的使用教程发出来,大家可以作为参考。
当然还是那句话,如果你没看懂 mklink 命令怎么用,建议不要尝试。
mklink 命令是 Windows 自带的命令,除了在 Win10 系统下使用,在比较早的系统比如 Win 7、Win Vista、Win 8 和 Win 8.1 也都是可以使用的。不过在除了 Win 10 之外的系统里使用,是必须使用管理员权限的,否则会提示“你没有足够的权限执行此操作。”,当然经过我验证,Win 10 有时候也是需要管理员权限的。
既然是 Windows 自带的命令,我们打开命令行,看看这个官方给的这个命令的用法是什么,输入:
mklink /?
这时候,系统会给出 mklink 命令的帮助:
创建符号链接。
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件符号链接。
/H 创建硬链接而非符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径(相对或绝对)。
上面这个帮助内容,看着是不是也不是特别明白,我举个案例就明白了。为了方便我举例,所以我在D盘在 Simple 文件夹下面建了两个文件夹,分别是 Link 文件夹和 Target 文件夹。
-
创建文件符号链接:什么参数都不带,就是默认创建文件符号链接。使用这个命令是需要管理员权限的,方法就是在【命令提示符】上点右键,选择【以管理员身份运行】。
然后输入下面命令,回车:
mklink d:\Simple\Link\text.txt d:\Simple\Target\text.txt
这时候,我们打开 Link 文件夹,就会发现下面出现了一个类似于快捷方式的文件:
但是这个 text.txt 并不是快捷方式,是一个符号链接,我们可以在 Link 文件夹下面正常打开和使用,但是实际上这个文件是存储在 Target 文件夹下的。
这样相当于两个不同的文件夹下面出现了两个相同的文件,对这两个文件编辑哪个都会同时改变。
-
带 /D 参数,创建目录符号链接。同样这个也是需要管理员权限的命令行,输入下面命令:
mklink /d d:\Simple\Link\Target d:\Simple\Target
这时候我们会发现 Link 文件夹下面多了一个文件夹图标的文件:
同样这个也不是快捷方式,相当于一个虚拟的文件夹,而这个文件夹真正存储位置是 d:\Simple\Target,同样可以正常在 Link\Target 目录下进行存储文件不占用这个文件夹的空间。
我们打开新的 Target 文件夹,就会发现,地址栏跟标题栏的路径是不一样的,标题栏的是真实路径,而地址栏的是虚拟路径:
-
带 /J 参数,创建目录联接。之所以第三个介绍这个,是因为这个命令跟第2个命令非常相似,而且这个命令无需管理员权限。
mklink /j d:\simple\link\new d:\simple\target
这时候 Link 文件夹下面出现了一个带快捷方式角标的 new 文件夹:
然后我们打开 new,发现标题栏跟地址栏是一样的,好像这个 new 文件夹就存在这里一样,这个跟 /d 是不一样的:
实际上这个 new 文件夹依然是存储在原来的 d:\simple\target 的位置。
我就是用这个方便帮那位网友把 iTunes 备份文件夹转移到了 D 盘。
上面的三个命令还都有快捷方式角标,下面这个命令结果你会发现不一样了:
-
带 /H 参数,创建硬链接。经过测试硬链接依然不需要管理员权限:
mklink /h d:\Simple\Link\new.txt d:\Simple\Target\text.txt
然后出现的结果是这样的,看起来这就是一个文件,没有快捷方式角标:
我们修改 new.txt,会发现原来的 text.txt 里的内容同样改变了。也就是这实际上是同一个文件。
那么我们能不能创建硬链接的目录呢?
经过测试,并不行。
相信通过我的演示,应该明白了 mklink 命令的使用方法了吧。我们既可以把文件“虚拟”到别的目录甚至分区,也可以把文件夹虚拟到别的地方。这个命令还是非常有用的,特别是C盘空间不足的时候,有一些默认存储在C盘的文件夹或者文件就可以转移到D盘等其他空间比较大的分区,同时在C盘相应路径“虚拟”一个文件或者文件夹。
不过,注意,并不是C盘所有文件夹都可以这么处理,特别是系统文件夹,有时候会容易出现错误,一定要慎用。