创建符号链接
函数 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”