跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

怎么在Windows下创建和管理软链接/硬链接【NTFS技巧】

Windows NTFS支持软链接和硬链接:软链接用mklink或PowerShell New-Item创建,可跨卷;硬链接仅限同卷文件,用mklink /H创建;均需管理员权限,删除链接不影响源数据。

如果您希望在Windows系统中通过符号链接(软链接)或硬链接来实现文件或目录的多重访问路径,NTFS文件系统原生支持这两种链接类型。以下是创建和管理软链接与硬链接的具体操作步骤:

一、使用mklink命令创建软链接(符号链接)

软链接是一个指向目标路径的独立文件,可跨卷创建,支持文件和目录;其本质是快捷方式的底层实现,删除源文件会导致链接失效。

1、以管理员身份运行命令提示符或PowerShell。

2、创建文件软链接:输入命令

mklink 链接名 目标文件绝对路径

,例如:

mklink C:\link\doc.txt D:\original\doc.txt。

3、创建目录软链接:添加

/D

参数,例如:

mklink /D C:\link\myfolder D:\original\folder。

4、若需创建指向远程SMB路径的目录软链接,须添加

/J参数(实际为目录联接,非标准符号链接,但行为类似)。

二、使用mklink命令创建硬链接

硬链接是同一文件在NTFS卷内的另一个目录项入口,共享相同的文件数据和MFT记录;仅适用于文件,不可跨卷,且不能用于目录。

1、以管理员身份运行命令提示符或PowerShell。

2、执行命令

mklink /H 链接名 目标文件绝对路径

,例如:

mklink /H C:\link\samefile.txt D:\data\original.txt。

3、确认源文件与链接位于同一NTFS卷内,否则系统将报错“不支持此操作”。

4、修改任一链接中的内容,所有硬链接均同步更新,因它们指向完全相同的文件数据簇。

三、查看现有链接及其属性

NTFS链接在资源管理器中无视觉标识,需借助命令行工具识别类型及目标路径,避免误删或误操作。

1、在命令提示符中进入链接所在目录,执行

dir /AL列出所有符号链接与目录联接。

2、对特定链接执行

fsutil reparsepoint query 链接名,可显示其重解析点类型(如0x00000003为符号链接,0x00000004为目录联接)及目标路径。

3、使用

dir /R可同时显示硬链接计数(即该文件被多少个目录项引用),数值大于1即存在硬链接。

四、安全删除链接而不影响原始数据

删除链接本身不会影响原始文件或其它链接,但需区分链接类型并采用对应操作方式,防止误删源数据。

1、删除软链接或目录联接:直接使用

del 链接名(文件链接)或rmdir 链接名(目录链接)。

2、删除硬链接:同样使用

del 链接名,仅移除一个目录项引用;只有当所有硬链接均被删除后,文件数据才真正释放。

3、禁止对软链接使用

rmdir /S删除其指向的整个目标目录,否则将实际删除源内容。

五、使用PowerShell替代方案创建符号链接

PowerShell 5.0及以上版本提供New-Item cmdlet,支持以声明式语法创建符号链接,兼容性更明确且便于脚本集成。

1、以管理员身份启动PowerShell。

2、创建文件符号链接:执行

New-Item -ItemType SymbolicLink -Path "C:\link\file.txt" -Target "D:\src\file.txt"。

3、创建目录符号链接:将

-ItemType改为DirectorySymbolicLink

,例如:

New-Item -ItemType DirectorySymbolicLink -Path "C:\link\dir" -Target "D:\src\folder"。

4、若目标路径含空格,确保

-Target值用双引号包裹,且路径为绝对路径。

相关文章