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 转移文件/文件夹的主要内容,如果未能解决你的问题,请参考以下文章

转移 Visual Studio 2017 的安装临时文件

Win7的mklink命令为啥无法创建???

Windows 找不到文件“mklink”。请确认文件名是不是正确

win7 C盘的User文件夹转移到D盘

文件文件夹映射junction和mklink,创建软硬链接

为文件夹创建符号链接mklink