zoukankan      html  css  js  c++  java
  • 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 使用中的各种坑(硬链接,软链接/符号链接,目录链接)

  • 相关阅读:
    IOS TextField伴随键盘移动
    解决github提交commit,contributions不统计显示绿色的问题
    jQuery选择器
    jQuery之DOM操作
    iOS监听电话事件
    Docker网络代理设置
    Oracle数据库之PL/SQL过程与函数
    Oracle数据库之FORALL与BULK COLLECT语句
    Oracle数据库之事务
    Oracle数据库之PL/SQL游标
  • 原文地址:https://www.cnblogs.com/kybs0/p/12229022.html
Copyright © 2011-2022 走看看