mklink 文件夹链接 windows系统

命令参数

mklink [[/d] | [/h] | [/j]] <Link> <Target>

参数

参数 描述
/ d 创建目录符号链接。默认情况下,mklink会创建文件符号链接。
/H 创建硬链接而不是符号链接。
/ J 创建目录连接。
<链接> 指定正在创建的符号链接的名称。
<目标> 指定新符号链接引用的路径(相对或绝对)。
/? 在命令提示符下显示帮助。

使用场景:

应用程序下有一个文件 C:\Upload,但是C盘空间不多了,就想把这个文件夹转移到D盘,但是直接剪切过去肯定行不通,应用程序会报错,所以首先把文件夹C:\Upload 整个剪切到d盘(D:\Upload),再执行命令:

mklink /j  "C:\Upload"  "D:\Upload"

这样c盘下面就会多出一个带快捷方式图标的文件夹**C:\Upload*.

C:\Upload这个文件夹是对应用程序透明的,也就是说,除了windows自己,应用程序并不知道C:\Upload下面的东西其实已经转移到d盘了,还当它们仍然在c盘。

win10下使用mklink命令给C盘软件搬家

硬链接

mklink [/h] "link" "target"  

      通过上述命令就可以创建从“link”路径到“target”路径的硬链接,例如在D盘根目录下新建文本“A.txt”,然后输入命令如下即可创建到"A.txt"的硬链接"B.txt":

。。。

注意:因为powershell不支持mklink命令,所以要在前面加cmd /c表示用cmd来运行该命令,路径注意引号,可以是相对路径也可以是绝对路径,硬链接只能用于文件,不能对文件夹创建硬链接,不然会提示“拒绝访问”。

       在文件资源管理器上看,“B.txt”与“A.txt”占用同样大小的空间,其实这个数据并不用去理会,硬链接相当于给文件的数据多创建了一个“入口”,“A.txt”,“B.txt”指向的是硬盘中的同一块区域,因此这两个文件的内容是完全一样的,编辑任何一个文件都会影响到另一文件,当删除其中一个文件,只是删除这个文件其中一个“入口”,要两个文件都删除,文件系统才会标志这块硬盘区域上的文件被删除。

 

符号链接

对文件创建符号链接

1

mklink "link" "target"

对文件夹创建符号链接

mklink /D "link" "target"

        符号链接是在文件系统上实现的链接,对操作系统上大多数软件来说是透明的,也就是说,当软件访问符号链接时,其实际上是在访问该符号链接所指向的文件(夹),再次拿迅雷做例子,先把迅雷的resource文件夹剪切到D盘根目录,然后在原来路径建立符号链接:

。。。

实际操作

第一步 ,找到目标目录,查看信息

window 软件 C盘 文件 搬家(配置文件搬家)-编程之家

第二步,将目录复制到目标路径

window 软件 C盘 文件 搬家(配置文件搬家)-编程之家

第三步,删除C盘的目录

window 软件 C盘 文件 搬家(配置文件搬家)-编程之家

第四步,管理员权限启动cmd,执行命令

C:\Users\Administrator>mklink /d "C:\Users\Administrator\.vscode" "D:\Administrator\.vscode"
为 C:\Users\Administrator\.vscode <<===>> D:\Administrator\.vscode 创建的符号链接

第五步,查看C盘目录,启动软件验证,扩展插件都在

window 软件 C盘 文件 搬家(配置文件搬家)-编程之家window 软件 C盘 文件 搬家(配置文件搬家)-编程之家