Mklink 转移文件/文件夹
Posted kybs0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mklink 转移文件/文件夹相关的知识,希望对你有一定的参考价值。
使用Mklink可以创建一个目录链接,从而完美转移文件/文件夹
MS官方文档
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink
mklink [/d] | [/h] | [/j]] <Link> <Target>
- /D 创建目录符号链接。默认情况下,mklink会创建文件符号链接。
- /H 创建硬链接而不是符号链接。
- /J 创建目录连接。
- link 新链接路径
- Target 源文件/文件夹路径
目录链接
/D、/J,都是创建文件夹链接,区别在于:
1. 创建新链接路径
/D可以是相对路径,也可以是绝对路径;/J只是绝对路径
2. 执行后,剪切/移动新链接路径
/D方式创建的话,只是把目录链接剪切到新地址,源文件夹没有影响;/J会删除链接路径下的所有数据,删除源文件夹下的所有数据,在新地址创建一份链接路径结构的全部数据。
比如:
mklink /D "C:新建文件夹" "C:目录转移测试",会在C盘创建一个链接 “新建文件夹”,打开链接文件夹,里面含有 “C:目录转移测试"的所有文件数据。
剪切 “新建文件夹”到D盘,只是把“新建文件夹”链接,剪切到了D盘"D:新建文件夹",C盘的链接没有了,而"C:目录转移测试"数据没有影响。
mklink /J "C:新建文件夹" "C:目录转移测试",创建的链接与/D是一致的
但剪切 “新建文件夹”到D盘,链接“新建文件夹”没有删除,但是删除了链接目录下的所有关联。同时在D盘创建文件夹"D:新建文件夹",并将源"C:目录转移测试"下的数据全部剪切过来,只保留源"C:目录转移测试"文件夹。
文件链接
/H 是文件的转移,比如:mklink /h C1.file D:1.file
只是文件的复制,并没有创建快捷方式。
常见的异常
1. "当文件已存在时,无法创建该文件。"
原因:mklink只是生成链接,所以生成链接的地址如果有相同名称的文件夹,是无法创建成功的。
一般我们使用Mklink时,先把"C:新建文件夹" 剪切到"D:新建文件夹".
然后使用 mklink /D "C:新建文件夹" "D:新建文件夹",在C盘创建一个新建文件夹的快捷方式
其它的异常,本人没有遇到就不总结了,可见小伙伴的博客:解决 mklink 使用中的各种坑(硬链接,软链接/符号链接,目录链接)
以上是关于Mklink 转移文件/文件夹的主要内容,如果未能解决你的问题,请参考以下文章