By: @Yuphiz
mklink文件链接是啥就不说了,网上一大堆信息。 用好可以实现好多功能 mklink分文件链接和文件夹链接,mklink不加参数是文件符号(软)连接,/h是文件硬链接,/j和/d是文件夹符号链接,软连接 Mklink 的参数异同(复制 移动(剪切) 删除) 不想看的,前头总结, 1、文件夹链接用/j,文件链接用/h(只能同个磁盘),实在没办法用/d和默认参数,务必先提前测试能不能访问 2、尽量在源路径操作源文件,少在链接路径操作文件
文件链接
- mklink 没有参数,文件链接,需要管理员权限
- 文件类型symlink,显示0字节,不占用空间
- 像是文件的快捷方式,cmd的dir命令会显示源路径
- 源文件更改时,链接文件也更改,反之亦然
- 部分软件不能读取源文件,不能写入。部分软件会破坏链接,比如删除链接文件,再新建同名文件,此时链接失效
- 文件图标有链接箭头
- 可以不同磁盘
- 删除时源文件还在,链接文件删除
- 复制时,复制源文件
- 移动时,源文件还在,复制源文件,链接文件删除
- mklink /h 硬链接,文件链接,不需要管理员权限
- 文件类型是源文件类型,显示源文件大小,不占用空间
- 相当于硬盘里同一个文件不同路径(不同路径指向同一个文件),cmd的dir命令和普通文件一样
- 源文件更改时,链接文件也更改,反之亦然
- 部分软件会破坏链接,比如删除链接文件,再新建同名文件,此时链接失效
- 文件图标没有链接箭头
- 不能连接到不同磁盘(硬盘)
- 删除时源文件还在,链接文件删除(相当于删除一个路径)
- 复制时,复制源文件(和普通文件一样)
- 移动时,源文件还在,复制源文件,链接文件删除
文件夹链接
- mklink /j 目录链接
- 不需要管理员权限
- 文件类型JUNCTION,当前目录显示源文件大小,上级目录显示大小不把链接目录计入内,不占用空间
- 像文件夹快捷方式,但是对应硬链接,是一个文件夹目录,cmd的dir命令显示源路径
- 链接路径下,所有文件都是源目录的文件,源目录文件修改时,链接目录也更改,反之亦然
- 部分软件会破坏链接,比如删除链接目录,再新建同名目录,此时链接失效
- 链接文件夹操作
- 资源管理器里的操作
- 删除链接目录时,链接目录删除,源目录还存在,源目录下文件还存在
- 复制时,复制链接目录和源目录下的文件
- 移动时,链接目录还在,源目录还在,链接依然生效,但是目录下的文件移动到新位置,/d是移动链接目录,/j是移动文件,这是和/j最大的不同
- 批处理的操作
- Xcopy复制
- cmd的move移动(move不能跨磁盘移动)
- cmd的rd 删除文件夹
- powershell的copy-item
- powershell的move移动
- 链接目录删除,链接失效,源目录还在,源目录下文件移动,和/d的第三点不同
- 链接文件操作
- mklink /d 目录链接
- 需要管理员权限
- 文件类型SYMLINKD(SymbolicLink),当前目录显示源文件大小,上级目录显示大小不把链接目录计入内,不占用空间
- 像文件夹快捷方式,cmd的dir命令显示源路径
- 链接路径下,所有文件都是源目录的文件,源目录文件修改时,链接目录也更改,反之亦然
- 部分软件会破坏链接,比如删除链接目录,再新建同名目录,此时链接失效
- 链接文件夹操作
- 资源管理器里的操作
- 删除链接目录时,链接目录删除,源目录还存在,源目录下文件还存在
- 复制时,复制链接目录和源目录下的文件
- 移动时,
- 同磁盘下,链接目录移动到新位置,源文件在源目录,链接依然生效,
- 不同磁盘下,链接目录(空文件夹)移动到新位置,源文件在源目录,链接失效。
- /d是移动链接目录,/j是移动文件,这是和/j最大的不同
- 批处理的操作
- Xcopy复制
- cmd的move移动(move不能跨磁盘移动)
- cmd的rd 删除文件夹
- powershell的copy-item
- powershell的move移动
- 移动时,
- 同磁盘下,链接目录移动到新位置,源文件在源目录,链接依然生效,和/j的第三点不同
- 不同磁盘下,链接目录还在,链接依然生效,源文件在移动到新位置
- 链接文件操作
|