« MacBook Pro 13" 2009のバッテリー交換 | トップページ | Windows 7のエクスプローラを少し軽くする »

2014年10月 4日 (土)

Windows 7とOffice 2010でファイルのシンボリックリンクをいじってみる

Windows XP/Office 2003時代にWordとExcelの文書ファイルのハードリンクを作って挙動を確かめたことがある。結果は、ハードリンクから文書ファイルを開いて上書き保存すると他のファイルとはハードリンクが切れてしまうものだった。Windows 7とPowerPoint 2010でも同様で、いずれも上書き保存時に別ファイルとして更新したファイルを作成し、元ファイルを削除してから更新したファイルの名前を元のものに設定し直すということを行っているため。

Windows Vistaからシンボリックリンクを作成できるようになったのだが、フォルダのジャンクションと同じくリパースポイントでの実装だとのこと。今回はハードリンクではなくてファイルのシンボリックリンクを作って上書き保存するとどうなるか確かめてみた。シンボリックリンクの作成はLink Shell Extension 3.8.5.1を使用した。

フォルダへのリンクはシンボリックリンクもジャンクションでもその中のファイルについては同様に期待通りに(つまりOS XやLinuxのシンボリックリンクと同じように)編集・保存できる。

一方、文書ファイルのシンボリックリンクではWord, Excel, PowerPointともに保存に失敗してしまう。保存用の一時ファイルがシンボリックリンクを置いたフォルダに出来ているので、これをリンクと置き換えようとしてエラーになっているように思える。

テキストファイルで試すと、メモ帳はシンボリックリンク、ハードリンクともにOK。UnEditorはシンボリックリンクはNG, ハードリンクはOK。NotePad++はどちらも問題なし。

Windows版Gnumericでは、シンボリックリンクもハードリンクも新たなファイルに置き換えられてしまい、リンクは消失。

ペイント、GIMP、ImageJ、IrfanViewではImageJでハードリンクを開いた時だけリンクが更新されたファイルに置き換えられたが、その他はすべて元ファイルが変更された。

編集するファイルに対してシンボリックリンクやハードリンクを設定するのは上書き保存時のソフトの動作がソフトごとに異なるため意図した通りの結果にならないことが多かった。

問題が発生しにくい使い方としては、フォルダへのシンボリックリンクを使う、ファイルへのシンボリックリンクを使う場合はプログラムをパスが通った場所に置きたいとか、シンボリックリンクから呼び出したファイルを編集しないようなケースだろう。

|

« MacBook Pro 13" 2009のバッテリー交換 | トップページ | Windows 7のエクスプローラを少し軽くする »

Windows」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: Windows 7とOffice 2010でファイルのシンボリックリンクをいじってみる:

« MacBook Pro 13" 2009のバッテリー交換 | トップページ | Windows 7のエクスプローラを少し軽くする »