web-dev-qa-db-ja.com

ドライブ文字に関係なく、特定のドライブを指すショートカットを作成できますか?

\\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\targetまたは\Device\HarddiskVolume5\path\to\targetをショートカットターゲットとして使用できないことに気づきました。機能しません。絶対パスでドライブ文字を使用する場合にのみ機能します。ドライブ文字や相対パスは使いたくありません。

ドライブ文字が変更されても壊れないショートカットのターゲットを指定できますか?または、これを行うためにNTFS再解析ポイント(ジャンクションポイントなど)を作成できますか?

3
Wes

ドライブ文字に関係なく、特定のドライブを指すショートカットを作成できますか?

ドライブ文字や相対パスを使いたくない

使用するターゲットのタイプ(\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\targetまたは\Device\HarddiskVolume5\path\to\target)は、ショートカットの有効なターゲットではありません。

ショートカットの有効なターゲットはすべて、以下に指定されているタイプのいずれかを使用する必要があります。


ショートカット設定項目を使用すると、ファイルシステムオブジェクト(ファイル、フォルダー、ドライブ、共有、コンピューターなど)、シェルオブジェクト(プリンター、デスクトップ項目、コントロールパネル項目など)、またはURL(WebページやFTPサイトなど)。

ソース ショートカットアイテムの構成


または、これを行うためにNTFS再解析ポイント(ジャンクションポイントなど)を作成できますか?

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>

注意

  • これは、コマンドプロンプトからリンクを逆参照しようとした場合にのみ機能しますが、エクスプローラーインターフェイスからリンクにアクセスしようとした場合は機能しません。

参考文献

  • Windows CMDコマンドラインのA-Zインデックス -Windowsコマンドラインに関連するすべてのものの優れたリファレンス。
  • mklink -ディレクトリまたはファイルへのシンボリックリンクを作成するか、ハードファイルリンクまたはディレクトリジャンクションを作成します。
3
DavidPostill

これはちょっとしたハックで、おそらく安全ではありませんが、適切な共有権限を使用して、対象のドライブのルートフォルダ(たとえば、共有名floatdrive)で共有を設定し、すべてのショートカットを作成できるはずです/ localhostでネットワークURL構文を使用するリンク:

\\localhost\floatdrive\folder\or\file\of\interest.txt

Windowsがドライブを正しくマウントしている限り、割り当てられているドライブ文字に関係なく、共有名はドライブの後に続く可能性があります。残念ながら、現時点ではこれをテストするのに適したシステムは手元にありません。

0
hBy2Py