web-dev-qa-db-ja.com

「.lnk」なしでコマンドラインからWindowsでシンボリックリンクを作成する

ハードコードされたパス(例:c:\path\of\directory)に大きなファイルを保存するアプリケーションがあるため、Windowsのフォルダーにネットワーク共有をマウントしたいと思います。その道を変えることはできません。

これは、Linuxでソフトリンクを使用するか、そのディレクトリに直接マウントすることで簡単に実現できますが、Windowsでどのように実行できるかわかりません。 mklink.exesubstを試しましたが、.lnk拡張子の付いたショートカットのようなフォルダーが作成されます。

誰か助けてもらえますか?

9
Rahul Patil

ネットワーク共有を任意のディレクトリパスにマウントするには、シンボリックディレクトリリンクを使用するか、Windows Serverでのみ使用可能なDFS(分散ファイルシステム)を使用します。 http://support.Microsoft.com/kb/205524 (セクション「DFSとの機能比較」)を参照してください。

シンボリックディレクトリリンクを作成するには、mklink /d c:\path\of\directory \\network\shareを使用します(directoryc:\path\ofに存在してはなりません)。 dir /aL c:\path\ofを使用してコマンドを確認します。リンクを削除したい場合は、そのディレクトリ内のファイルを削除するrmdir c:\path\of\directoryではなくdel c:\path\of\directoryを使用してください。

シンボリックディレクトリリンクは、LNKリンクと同じではありません。ファイルエクスプローラーで表示するとLNKリンクのように見えますが、フォルダーアイコンの周りに矢印が付いた同じアイコンオーバーレイを使用しているためです。

その特定のパスでより多くのストレージスペースが必要な場合の別のオプションは、別のドライブを追加し、それをディレクトリパスに直接マウントすることです。これを行う方法については、 http://support.Microsoft.com/kb/307889/en-us を参照してください。

11
holmb