创建符号链接

函数 CreateSymbolicLink 允许使用绝对路径或相对路径创建符号链接。

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

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

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

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

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

    注意

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

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

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

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

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

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

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

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

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

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

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

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

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

符号链接

硬链接和交接点

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