创建符号链接

通过 函数 CreateSymbolicLink ,可以使用绝对路径或相对路径创建符号链接。

符号链接可以是绝对链接,也可以是相对链接。 绝对链接是指定路径名称的每个部分的链接;相对链接是相对于相对链接说明符在指定路径中的位置确定的。 使用下列约定指定相对链接:

  • 点 (。和。。) 约定,例如“.”。\“ 解析相对于父目录的路径。

  • 没有斜杠的名称 (\) ,例如,“tmp”解析相对于当前目录的路径。

  • 根相对 - 例如,“\Windows\System32”解析为“当前驱动器:\Windows\System32”。 目录

  • 当前工作目录相对 - 例如,如果当前工作目录为“C:\Windows\System32”,“C:File.txt”将解析为“C:\Windows\System32\File.txt”。

    注意 如果指定当前工作目录相对链接,则会将其创建为绝对链接,具体取决于基于用户和线程处理当前工作目录的方式。

符号链接还可以将交汇点和装载的文件夹作为路径名称的一部分包含在内。

符号链接可以使用 UNC 路径直接指向远程文件或目录。

相对符号链接仅限于单个卷。

在此示例中,原始路径包含组件“x”,这是一个绝对符号链接。 遇到“x”时,包含“x”的原始路径片段将完全替换为“x”指向的路径。 “x”后面的路径的其余部分将追加到此新路径。 现在,这将成为修改后的路径。

X:“C:\alpha\beta\absLink\gamma\file”

链接:“absLink”映射到“\\machineB\share”

修改的路径:“\\machineB\share\gamma\file”

在此示例中,原始路径包含组件“x”,这是一个相对符号链接。 遇到“x”时,“x”将完全替换为“x”指向的新片段。 “x”后面的路径的其余部分将追加到新路径。 任何点 (。此新路径中的) 替换出现在点 (之前的组件。) 。 每组点都替换前面的组件。 如果点数 (.) 超出组件数,则返回错误。 否则,当所有组件更换完成后,最终的修改路径将保留。

X:C:\alpha\beta\link\gamma\file

链接:“link”映射到“.”。\..\theta”

修改路径:“C:\alpha\beta\.。\..\theta\gamma\file”

最终路径:“C:\theta\gamma\file”

符号链接

硬链接和交汇点

命名文件、路径和命名空间