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盘软件搬家
硬链接
|
通过上述命令就可以创建从“link”路径到“target”路径的硬链接,例如在D盘根目录下新建文本“A.txt”,然后输入命令如下即可创建到”A.txt”的硬链接”B.txt”:
。。。
注意:因为powershell不支持mklink命令,所以要在前面加cmd /c表示用cmd来运行该命令,路径注意引号,可以是相对路径也可以是绝对路径,硬链接只能用于文件,不能对文件夹创建硬链接,不然会提示“拒绝访问”。
在文件资源管理器上看,“B.txt”与“A.txt”占用同样大小的空间,其实这个数据并不用去理会,硬链接相当于给文件的数据多创建了一个“入口”,“A.txt”,“B.txt”指向的是硬盘中的同一块区域,因此这两个文件的内容是完全一样的,编辑任何一个文件都会影响到另一文件,当删除其中一个文件,只是删除这个文件其中一个“入口”,要两个文件都删除,文件系统才会标志这块硬盘区域上的文件被删除。
符号链接
对文件创建符号链接
1 |
|
对文件夹创建符号链接
|
符号链接是在文件系统上实现的链接,对操作系统上大多数软件来说是透明的,也就是说,当软件访问符号链接时,其实际上是在访问该符号链接所指向的文件(夹),再次拿迅雷做例子,先把迅雷的resource文件夹剪切到D盘根目录,然后在原来路径建立符号链接:
。。。
实际操作
第一步 ,找到目标目录,查看信息
第二步,将目录复制到目标路径
第三步,删除C盘的目录
第四步,管理员权限启动cmd,执行命令
C:\Users\Administrator>mklink /d "C:\Users\Administrator\.vscode" "D:\Administrator\.vscode"
为 C:\Users\Administrator\.vscode <<===>> D:\Administrator\.vscode 创建的符号链接
第五步,查看C盘目录,启动软件验证,扩展插件都在