So-net無料ブログ作成
検索選択

中途半端な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