\\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target
または\Device\HarddiskVolume5\path\to\target
をショートカットターゲットとして使用できないことに気づきました。機能しません。絶対パスでドライブ文字を使用する場合にのみ機能します。ドライブ文字や相対パスは使いたくありません。
ドライブ文字が変更されても壊れないショートカットのターゲットを指定できますか?または、これを行うためにNTFS再解析ポイント(ジャンクションポイントなど)を作成できますか?
ドライブ文字や相対パスを使いたくない
使用するターゲットのタイプ(\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target
または\Device\HarddiskVolume5\path\to\target
)は、ショートカットの有効なターゲットではありません。
ショートカットの有効なターゲットはすべて、以下に指定されているタイプのいずれかを使用する必要があります。
ショートカット設定項目を使用すると、ファイルシステムオブジェクト(ファイル、フォルダー、ドライブ、共有、コンピューターなど)、シェルオブジェクト(プリンター、デスクトップ項目、コントロールパネル項目など)、またはURL(WebページやFTPサイトなど)。
ソース ショートカットアイテムの構成
mklink を使用して、\\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target.txt
の形式のシンボリックリンクを作成できます。
c:
md \test
cd \test
mklink testlink \\?\Volume{d1a54614-9369-11e4-b7ab-ccaf78b24c0a}\test\test.txt
これで、ディレクトリテストにシンボリックリンクが含まれます(私の場合は、外部ドライブ上のファイルf:\test\test.txt
を指します)。
C:\test>dir
Volume in drive C has no label.
Volume Serial Number is C8D0-DF1E
Directory of C:\test
29/03/2015 23:24 <DIR> .
29/03/2015 23:24 <DIR> ..
29/03/2015 23:17 <SYMLINK> testlink [\\?\Volume{d1a54614-9369-11e4-b7ab-ccaf78b24c0a}\test\test.txt]
1 File(s) 0 bytes
2 Dir(s) 248,410,976,256 bytes free
.。
C:\test>type testlink
this file is test.txt
C:\test>
.。
C:\test>type f:\test\test.txt
this file is test.txt
C:\test>
注意
これはちょっとしたハックで、おそらく安全ではありませんが、適切な共有権限を使用して、対象のドライブのルートフォルダ(たとえば、共有名floatdrive
)で共有を設定し、すべてのショートカットを作成できるはずです/ localhost
でネットワークURL構文を使用するリンク:
\\localhost\floatdrive\folder\or\file\of\interest.txt
Windowsがドライブを正しくマウントしている限り、割り当てられているドライブ文字に関係なく、共有名はドライブの後に続く可能性があります。残念ながら、現時点ではこれをテストするのに適したシステムは手元にありません。