【mklink】创建符号链接

发布时间 2023-08-02 02:39:47作者: Vanilla_chan

场景

我通常用这个指令将C盘的文件转移到D盘中,或者是把一定要安装在C盘的软件所占用的空间转移到D盘。但是常常不记得参数顺序

指令通用格式

C盘的文件转移到D盘中

假设要把C:\abc\这个文件夹转移到D:\Software\

直接把C:\abc\这个文件夹剪切到D:\Software

打开cmd输入指令

mklink /d "C:\abc" "D:\Software\abc"

链接(不是链接位置)在前,实际文件夹在后

把一定要安装在C盘的软件所占用的空间转移到D盘

先照样把这个软件安装到C盘,然后对安装目录执行刚刚C盘的文件转移到D盘中的方法即可

总结三部

  1. 安装(如果是文件就不用)
  2. 整体剪切
  3. 在原位置创建链接

可能的报错

当文件已存在时,无法创建该文件

PS D:\Software> cmd /c mklink /d "D:\Software\Topaz Labs LLC" "C:\Program Files\Topaz Labs LLC"
当文件已存在时,无法创建该文件。

我怀疑你把两个地址写反了

拒绝访问

PS D:\Software> cmd /c mklink /d  "C:\Program Files\Topaz Labs LLC" "D:\Software\Topaz Labs LLC"
拒绝访问。

右键win图标,点击终端管理员

完整参数表

感谢Marydon

| 链接类型           | 命令 | 文件类型    | 文件路径        | 空间占用                           | 可连接类型     | 本质                                                         | windows下可否跨磁盘                        | 访问方式                                                     | 源文件与链接文件关联关系                                     |
| ------------------ | ---- | ----------- | --------------- | ---------------------------------- | -------------- | ------------------------------------------------------------ | ------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 符号链接(软链接) | /d   | .symlinkd   | 相对路/绝对路径 | 不占                               | 只能是目录     | 相当于只是对源目录进行了引用,可里解为:只有使用权,没有所有权,可以当作快捷方式 | 可以跨本地磁盘;也可跨网络磁盘(共享目录) | 本地访问:通过链接目录所在磁盘路径访问;网络访问:通过tomcat实现 | 源目录删除后,链接目录无效;链接目录删除,源目录不受影;源目录里面的文件发生变化时(新增、修改、删除),链接目录里面的文件同步发生变化;反之,同样成立 |
| 目录链接(软链接) | /j   | .junction   | 绝对路径        | 不占                               | 只能是目录     | 同上,联接点                                                 | 只能跨本地磁盘                             | 同上                                                         | 同上                                                         |
| 硬链接             | /h   | .源文件类型 | 绝对路径        | 占用空间跟原文件一样               | 只能是文件     | 相当于对源文件进行拷贝,可理解为:执行了复制、粘贴操作       | 不可以                                     | 本地访问:通过链接文件所在磁盘路径访问;网络访问:通过 tomcat可实现 | 源文件删除后,链接文件无效;链接文件删除,源文件不受影响;源文件内容发生变化时(修改),链接文件同步发生修改;反之,同样成立。 |
| 快捷方式           |      | .lnk        | 绝对路径        | 文件大小仅有几百节,跟原件大小无关 | 文件、目录均可 |                                                              | 只能跨本地磁盘                             | 本地访问:自动跳转到文件、目录的所在磁盘路径访问;网络访问:无法通过网络访问到该快捷方式所对应的实际文件 | 源文件删除,快捷方式失效;快捷方式删除,源文件不受影响;只是创建了一个快捷方式 |

如何在powershell下使用

win11的打开终端默认打开的是powershell。

其实powershell下可以运行cmd指令,在指令前加上cmd /c即可