mklinkを使用して相対パスでシンボリックリンクを作成するにはどうすればよいですか?


24

このWebページは、を使用して相対パスでシンボリックリンクを作成できることを示していmklinkます。

あらゆる種類の相対シンボリックリンクを作成する方法を試しましたが、常に絶対パスになります。

どうやって?


MSDNにはこれを説明する奇妙な方法があります。実際の例がないため、シンボリックリンクの作成方法を理解するのに苦労しました。
iglvzx

私がこの「奇妙な方法」を知っているのは、MSDOSがこの方法を使用しているからです。
surfasb

問題がTCC / LEのバグによって引き起こされたとき、なぜ私の質問が20,000ビューになっているのか理解できません。通常、シンボリックリンクはデフォルトで相対になります。
パラドロイド

回答:


36

シンボリックリンクはデフォルトで相対的です。リンクの一部を絶対にするには、ドライブ文字を明示的に記述する必要があります。

シンボリックリンクの一般的な構文は次のとおりです。

mklink link destination

だから、相対的なシンボリックリンクを作成するには:linkあなたからの相対パスであることを行っている作業ディレクトリ、およびdestinationからの相対パスになるだろうlink

例:

1. mklink link.txt ..\destination.txt

これにより、1つ上のフォルダーlink.txtを指すシンボリックリンクが作成destination.txtされます。

自由に移動できlink.txt、常にdestination.txt1つ上のフォルダを指します。

2. C:\>mklink A\Link.txt ..\Destination.txt

これにより、シンボリックリンクが作成さC:\A\Link.txtれますC:\Destination.txt


これだよ。ドライブ文字またはバックスラッシュで始まるのではなく、ディレクトリから始めます。例えば、mklink destination.txt "documentation\readme.txt"子フォルダと呼ばを指しますdocumetation」と*のreadme.txtと呼ばれるそのフォルダ内のファイル
surfasb

@ surfasb、@ iglvzx:最初は戸惑っていました。まさにそれが私が試みてきたことです。しかし、あなたが両方ともこれが動作することを確認すると、私はそれがで動作するがCMD、では動作しないことに気付きましたTCC/LE。外部プログラムのパス引数を変更(拡張)していることに驚いています。
パラドロイド

@surfasb:TCC / LEのこの問題は新しいv13で修正されましたが、私が使用していた12.11.76で発生しました。
パラドロイド

2
@paradroid:うまくいっていることがうれしいです。TCCの古い古いバージョンを懐かしく思い出します。どれくらい使っていますか?そうではない、そう、PATH列挙のニュアンスが私の心を揺さぶる。そして、義務に関する[ブログ投稿] :( blogs.msdn.com/b/oldnewthing/archive/2005/11/22/495740.aspx)互換性に対する過去のMS-DOSの決定が今でも私たちにどのように影響するかについて。
surfasb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.