シンボリック リンクの作成

関数 CreateSymbolicLink では、絶対パスまたは相対パスを使用してシンボリック リンクを作成できます。

シンボリック リンクには、絶対リンクまたは相対リンクを指定できます。 絶対リンクは、パス名の各部分を指定するリンクです。相対リンクは、相対リンク指定子が指定パス内のどこにあるかを基準に決定されます。 相対リンクは、次の規則を使用して指定します。

  • ドット (. および ..) の規則 (例: "..\" は、親ディレクトリを基準にパスを解決します)。

  • スラッシュ (\) を持たない名前 (例: "tmp" は、現在のディレクトリを基準にパスを解決します)。

  • ルート基準 (例: "\Windows\System32" は "現在のドライブ:\Windows\System32" を基準に解決されます)。 directory

  • 現在の作業ディレクトリ基準 (例: 現在の作業ディレクトリが "C:\Windows\System32" の場合、"C:File.txt" は "C:\Windows\System32\File.txt" に解決されます)。

    Note

    現在の作業ディレクトリ基準リンクを指定すると、ユーザーとスレッドに基づいて現在の作業ディレクトリが処理されるため、絶対リンクとして作成されます。

シンボリック リンクには、パス名の一部として、ジャンクション ポイントとマウントされたフォルダーの両方を含めることもできます。

シンボリック リンクは、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"

シンボリック リンク

ハード リンクとジャンクション

ファイル、パス、および名前空間の名前付け