使用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 C\1.file D:1.file

只是文件的复制,并没有创建快捷方式。

常见的异常

1. "当文件已存在时,无法创建该文件。"

原因:mklink只是生成链接,所以生成链接的地址如果有相同名称的文件夹,是无法创建成功的。

一般我们使用Mklink时,先把"C:\新建文件夹" 剪切到"D:\新建文件夹".

然后使用 mklink /D "C:\新建文件夹" "D:\新建文件夹",在C盘创建一个新建文件夹的快捷方式

其它的异常,本人没有遇到就不总结了,可见小伙伴的博客:解决 mklink 使用中的各种坑(硬链接,软链接/符号链接,目录链接)

最新文章

  1. CC1310的RSSI值问题
  2. EF架构~通过EF6的DbCommand拦截器来实现数据库读写分离~终结~配置的优化和事务里读写的统一
  3. 0729pm命名空间
  4. Json.NET 利用ContractResolver解决命名不一致问题
  5. gdb: multiple process debug
  6. git/ TortoiseGit 在bitbucket.org 使用证书登陆
  7. JavaScript基础(二)
  8. java中连接postgresql基本代码
  9. 技术不牛如何才拿到国内IT巨头的Offer(转)
  10. SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
  11. cnpm的全局安装
  12. mysql主从备份及常见问题处理
  13. 什么是DevOps?
  14. Python 操作集合
  15. QWaiteCondition 思考5
  16. python3 电脑说话
  17. Target优化
  18. mybatis之关联(2)
  19. 算法笔记_232:提取拼音首字母(Java)
  20. CentOS 7.0源码包搭建LNMP方法分享(实际环境下)

热门文章

  1. sci,ei,istp三大科技文献检索系统
  2. 用es5实现模板字符串
  3. C++ 图片格式转化和压缩
  4. Android Simulator Shortcut keys
  5. 树莓派4安装net core3.0环境
  6. 三、解析class文件
  7. POJ 1166 The Clocks [BFS] [位运算]
  8. [wireshark] ip filter
  9. 怎么安装GUI
  10. 配置一个yum私有仓库