使用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. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(14)之会员中心管理

    源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,主要包含了会员 ...

  2. 备战省赛组队训练赛第十七场(UPC)

    upc:传送门 A: 题解[1] G: 题解[1] D,G,H,J,L 题解 by 鲁东大学

  3. Linux 内核 标准 PCI 配置寄存器

    一些 PCI 配置寄存器是要求的, 一些是可选的. 每个 PCI 设备必须包含有意 义的值在被要求的寄存器中, 而可选寄存器的内容依赖外设的实际功能. 可选的字段不被 使用, 除非被要求的字段的内容指 ...

  4. CS224n: Natural Language Processing学习准备

    cs224n 斯坦福网址,里面包含讲课视频,ppt,代码,学习完后做一个问答系统 http://web.stanford.edu/class/cs224n/index.html 下载anaconda, ...

  5. 16.python内置函数

    Python 内置函数:https://www.runoob.com/python/python-built-in-functions.html 原文:https://www.cnblogs.com/ ...

  6. springboot多租户设计

    1. 概述 根据不同用户的请求,选择不同的数据源,不同的数据源可以是Oracle.MySQL或者其它.用到的技术栈,没有什么复杂的技术,可以看到,依赖也就加了几个而已,如下: 2. 先睹为快 如下图, ...

  7. CodeForces - 1239A

    推公式题,万万没想到斐波那契啊

  8. DOCKER学习_003:Docker的存储

    一 简介 docker提供数据卷来实现数据共享与持久化,而数据卷的挂载有两种方式: 挂载主机目录(Bind mounts) 数据卷容器(Data Volumes) 数据卷是一个可供容器使用的特殊目录, ...

  9. org.apache.subversion.javahl.ClientException: Item is not readable 解决办法

    在使用eclise安装的插件subclipse查看svn的提交历史记录的时候,提示org.apache.subversion.javahl.ClientException: Item is not r ...

  10. Python socket套接字通信

    一.什么是socket? socket是一个模块, 又称套接字,用来封装 互联网协议(应用层以下的层). 二.为什么要有socket? socket可以实现互联网协议 应用层以下的层 的工作,提高开发 ...