使用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 使用中的各种坑(硬链接,软链接/符号链接,目录链接)

Mklink 转移文件/文件夹的更多相关文章

  1. 升级 macOS Big Sur 差点丢了我多年的珍藏文件(夹)!!!

    原来升级 macOS Big Sur 过程中会转移根目录下的个人文件(夹). 春节期间升级了一下 macOS ,升级之前就比较担心丢数据,然而怕什么来什么.升级之后发现根目录下的个人文件(夹)都不见了 ...

  2. NSFileManager计算文件/文件夹大小

    在一些软件中,一般都会给用户展现当前APP的内存,同时用户可以根据自己的需要来清除缓存的内容.一般而言,文件夹是没有大小这个属性的,所以需要遍历文件夹的内容来计算文件夹的大小,下面用NSFileMan ...

  3. linux下SVN忽略文件/文件夹的方法

    linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录) ...

  4. 【SVN】删除文件/文件夹 svn: E205007: Could not use external editor to fetch log message

    在SVN Server上删除文件/文件夹 svn delete 文件的URL -m "评论" 一定要加 -m 不然会报错 svn: E205007: Could not use e ...

  5. Linux中RM快速删除大量文件/文件夹方法

    昨天遇到一个问题,在Linux中有一个文件夹里面含有大量的Cache文件(夹),数量级可能在百万级别,使用rm -rf ./* 删除时间慢到不可接受.Google了一下,查到了一种方法,试用了下确实比 ...

  6. linux压缩文件(夹) zip uzip命令的用法

    压缩文件(夹) # 压缩列举的文件,格式如下: zip 压缩包名称 文件1 文件2 文件3 ... # 压缩test.txt, a.out文件,并取名为abc.zip $ zip abc.zip te ...

  7. tomcat 禁止某些文件(夹)的访问

    tomcat 禁止某些文件(夹)的访问 <!-- 不允许访问的文件以及文件夹 --> <security-constraint> <display-name>Tom ...

  8. 修改Atom 隐藏.gitignore忽略的文件/文件夹的配置

    参考链接:.gitignored files are hidden from tree view regardless of setting 假如Atom打开的文件夹有.gitignore 文件,会隐 ...

  9. C#压缩、解压缩文件(夹)(rar、zip)

    主要是使用Rar.exe压缩解压文件(夹)(*.rar),另外还有使用SevenZipSharp.dll.zLib1.dll.7z.dll压缩解压文件(夹)(*.zip).需要注意的几点如下: 1.注 ...

随机推荐

  1. Linux 旗标实现

    Linux 内核提供了一个遵守上面语义的旗标实现, 尽管术语有些不同. 为使用旗标, 内核 代码必须包含 <asm/semaphore.h>. 相关的类型是 struct semaphor ...

  2. 【47.63%】【hdu 1532】Drainage Ditches

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...

  3. qt添加cef库嵌入web,linux 下Qt WebEngine 程序打包简单记录

    http://www.cnblogs.com/oloroso/p/6051631.html http://www.cnblogs.com/oloroso/p/6149000.html

  4. VUE事件修饰符.passive、.capture、.once实现原理——重新认识addEventListener方法

    https://www.jianshu.com/p/b12d0d3ad4c1 .passive的作用与使用场景 https://juejin.im/post/5ad804c1f265da504547f ...

  5. ML基础——搜索引擎与图书管理,百度与李彦宏

    本文始发于个人公众号:TechFlow 谈及机器学习,大家想必会有许多联想,比如最近火热的人工智能,再比如战胜李世石的AlphaGo,甚至还会有人联想起骇客帝国或者是机械公敌等经典机器人电影. 但实际 ...

  6. 【温故知新】Java web 开发(二)Servlet 和 简单JSP

    系列一介绍了新建一个 web 项目的基本步骤,系列二就准备介绍下基本的 jsp 和  servlet 使用. (关于jsp的编译指令.动作指令.内置对象不在本文讨论范围之内) 1. 首先,在 pom. ...

  7. 数据导出至excle

    ASP.NET MVC导出Excel 首先下载  NPOI.dll 引用到项目中 建议下载地址:http://download.csdn.net/detail/pukuimin1226/5851747 ...

  8. SpringBoot系列之自定义starter实践教程

    SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一 ...

  9. Python 线性回归(Linear Regression) - 到底什么是 regression?

    背景 学习 Linear Regression in Python – Real Python,对 regression 一词比较疑惑. 这个 linear Regression 中的 Regress ...

  10. asp.net core系列 74 Exceptionless服务端安装

    一.   Docker安装 Docker   要求版本Docker 18.09.0+以上 安装地址:https://www.runoob.com/docker/windows-docker-insta ...