SSブログ

中途半端なWindowsのシンボリック・リンク [ソフトウェア/PC関係]

先日のHDDクラッシュの件は,新しいHDDは届いたものの,まとまった時間が取れず,まだサルベージ作業には着手できていない。ほとんど見込みはないと思ってるので,急いでも急がなくても,大した違いはない。それより問題は今後である。

取り敢えず,定期的にバックアップを取らなければならない。バックアップ先の容量の問題もあるので,何でもかんでもコピーするというよりは,必要な物だけということになるだろう。となると,バックアップ対象のファイルが,あちこちに散らばっているのは都合が悪い。手っ取り早いのは,特定のディレクトリの下に,バックアップ対象を集めるやり方だ。例えば,\Documentsをバックアップ対象として,その下にサブディレクトリを作って,ファイルを分類して置いておくのである。ただ,今までルートにあったディレクトリは,1階層下になって,アクセスの手間が増えてしまう。そこで考えたのが「リンク」の利用である。

Windowsではあまりポピュラーではないと思うが,Linux等でよく使われる技術に,「シンボリック・リンク」というものがある。これは言わば,ファイルやディレクトリに対して,別名を付けるようなことに当たる。例えば,"C:\Documents\Photo"というディレクトリの別名として,ルート・ディレクトリに"Photo"という名前のリンクを作るのだ。こうすると,例えば

dir c:\Photo

とした時に,"C:\Documents\Photo"ディレクトリの内容をリストすることが出来る。

Windowsの場合,NTFSファイル・システムの機能を利用して実現されているので,NTFSでフォーマットされたHDDでないと利用できない。が,まぁ今どきNTFSが普通だろう。実は,元々「ジャンクション」という似たような機能があったのだが,ディレクトリのみが対象で,ファイルに対するリンクは作ることが出来なかった。それが,Vistaから,よりLinuxのものに近い,「シンボリック・リンク」がサポートされるようになったのである。今回は,ディレクトリのリンクで充分だし,ジャンクションなら以前も使ったことがあったのだが,せっかくなので,新しいシンボリック・リンクを使ってみることにした。

シンボリック・リンクの作成には,"mklink"というコマンドを使う。先ほどの例だと,コマンド・プロンプトで,

mklink /d c:\Photo c:\Documents\Photo

を実行すれば良い。但し,管理者権限が必要なので,コマンド・プロンプトを「管理者として実行」しておく必要がある。リンクが出来ると,"dir"コマンドでは

2015/01/28  23:00    <SYMLINKD>     Photo [c:\Documents\Photo]

というように,"<DIR>"の代わりに"<SYMLINKD>"と表示される。Exploreの場合は,フォルダのアイコンにショートカットの矢印が付く。

使用感は,ジャンクションと全く変わらない。ファイルのシンボリック・リンクも作れるようになったし,より便利になった...と思っていたのだが,後日思わぬ落とし穴に気付いた。

シンボリック・リンクを作ったドライブは,ネットワーク共有して,他のPCからもアクセスすることが多いのだが,ネットワーク・ドライブのシンボリック・リンクを開こうとすると,「アクセス出来ない」というエラーになってしまうのだ。先に書いたように,シンボリック・リンクは比較的新しい機能なので,古いアプリケーションでは対応していないことがある...ということは知っていたのだが,Windows付属のExplorerでも同じなのだ。これはどういうことだろう。

Linuxの場合,シンボリック・リンクというのは,文字通り,設定されたパスの文字列へリンクを張るものだ。先の例で言えば,Photoは"c:\Documents\Photo"を参照する。ネットワーク・ドライブは"c:"ではないので,それが問題なのだろうか。

そう考えて,ローカルのCドライブに,"\Documents\Photo"というディレクトリを作ってみたのだが,相変わらずエラーになる。どうも,Windowsのシンボリック・リンクは,ネットワーク共有には対応していないということのようだ。

ジャンクションの場合は,ネットワーク・ドライブでも問題なく利用できるので,結局全て,ジャンクションに作り変えることにした。せっかく機能が増えたと思ったのに,中途半端な仕様である。因みに,ジャンクションは,同じmklinkコマンドで,

mklink /j c:\Photo c:\Documents\Photo

のようにすれば作成できる。管理者権限も必要ないので,こちらの方がお手軽だ。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。