2017年6月10日土曜日

PATHへのシンボリックリンク作成コマンド mklink /D

 Windowsネットワークの共有パスにアクセスする方法として
 1-1.ネットワークパス ex. \\192.168.0.7\path
 1-2.ネットワークパス ex. \\test\path
 2.ネットワークドライブの割り当てでネットワークドライブを作る
 それと、あまり一般的ではありませんが
 3.シンボリックリンクを作る

があります。
 実はDOSコマンドの中には「2.ネットワークドライブの割り当て」のからのアクセスだと正しく動作しないDOSコマンドなどがありまして、その場合は「1.ネットワークパス」か「3.シンボリックリンク」なら上手くいく可能性が高いです。 

 ネットワークパスは間違えず入力するだけなので、ここではシンボリックリンクの作り方を説明します。
 ディレクトリのシンボリックリンクを作りたいのでコマンドはこんな感じです。
 MKLINK /D ローカルパス名 共有パス名

 ですが、シンボリックリンクコマンドは普通のDOS窓で実行するとこーなります。
実はMKLINK実行は管理者権限で実行する必要があり、そのためには管理者権限でDOS窓を開く必要があります。Win10ではメニュー選択から右クリック「管理者として実行」を選択すればいいのですが、大抵は「ユーザアカウント制御の設定」メニューが出ます。
 「ユーザアカウント制御の設定」を”通知しない”にすれば確認は出現しなくなるのですが、その場合悪意あるソフトによって何かされても全く気が付かなくなる訳で、”通知しない”設定は絶対しないでください。
自分はいちいちメニューから選択するのも面倒なのでバッチファイルを作って右クリック実行をして、中にあらかじめmklinkコマンドを記述してまして作る際はそれをコピペ実行しています。

dos.bat
@echo off
call cmd /k cd C:\Users\zen\Desktop\セレクト
exit
rem PATHへのリンクコマンド。コピペ実行。環境に応じて書き換えてください。
mklink /d c:\@A a:\
mklink /d c:\@B b:\
mklink /d c:\@M \\zokuga\disc
mklink /d c:\@N \\doga\dvbr
mklink /d c:\@O \\doga\other
mklink /d c:\@R \\zokuga\!rokuga
mklink /d c:\@V c:\!video

バッチファイル中のmklink /dを順次流せばリンクを張ることができます。リンクによるフォルダはショートカットのようではありますが、実フォルダのように取り扱う事ができます。リンクを削除する際はコマンドではなくエクスプローラから確認しながらの削除が安全確実でしょう。 
 ネットワークやローカル区別なくmklink /dによるリンクフォルダを作る事ができ、普通のショートカットのように移動とか名前の変更とかもできます。ただリンク情報だけは変更できないので、リンク先のパスが変わってしまった場合は一度削除して正しいパスで再作成する必要があります。

 ネットワークパス直接よりもシンボリックリンク経由の方がいい理由は、ネットワークパスの共有名が変わってもシンボリックリンクの名前さえ変わらなければ引き続き同じパスでアクセス可能というところです。
 そのためにはシンボリックリンクのパス名はドライブ名みたく出来るだけ簡素にした方がイイんじゃねと思いました。

0 件のコメント:

コメントを投稿