Mklinkを介してジャンクションとシンボリックリンクを作成することに問題はありませんが、このコマンドを使用してハードリンクを作成することはできません。 「アクセスが拒否されました」を返し、異なるマシンのWindows 7と8.1の両方で試しましたが、cmdは管理者権限で開始されました。D:\>mklink /d /h dirA dirB
もちろんdirB存在します。このコマンドをエラーなしで実行するためにすべきことはありますか?
フォルダーへのハードリンクは作成できず、ファイルのみを作成できると思います。シンボリックリンク/D
とジャンクション/J
はフォルダに対しても機能します。
また、ハードリンクを作成するときは、2つの異なるドライブ間でリンクを作成できないことに注意してください(同じ物理ハードドライブ上でも)。
別のSUからの簡単な説明 回答 :
ハードリンクは、ファイルシステムの境界を越えることができないファイルシステム機能です。 C:からD:のファイルは別個のファイルシステムであるため、ハードリンクすることはできません。それぞれに同じタイプのファイルシステム(NTFSなど)が含まれている場合がありますが、それらは別々のファイルシステムです。
デビッドがブレーデンに返信してコメントしたように、ジャンクションは技術的には「ハードフォルダリンク」ではないかもしれませんが、「/J
は/D
よりも難しい」と言えると思います。
適切な例は、mklink /D "..\link_dir" "existing_dir"
の場合、「link_dir」にcd
することができないということです。ただし、代わりに/J
を使用すれば、cd
を使用できます。
フォルダ/ディレクトリへのハードリンクを作成することはできません。それはジャンクションと呼ばれます。 mklink/J
https://msdn.Microsoft.com/en-us/library/windows/desktop/aa365006(v = vs.85).aspxhttp://www.sevenforums.com /tutorials/278262-mklink-create-use-links-windows.html
また、mklink/Dは、ハードリンクではなく、ディレクトリシンボリックリンクを作成します。実際には、シンボリックリンクはファイルやフォルダへの「ファンシーショートカット」ですが、ハードリンクはファイルのみの「ファイル同期」のようなもので、「ショートカット」はターゲットファイルの「ツイン」です。 1つに変更を加え、両方に変更を加えますが、実際にはドライブ上に物理的に1つのファイルしかないため、ターゲットファイルのサイズが500MBの場合、500MBのみが使用されます。ジャンクションはフォルダのハードリンクであり、ハードリンクと同じように機能します。