systemfolder-move-location ( システムフォルダの「場所」移動 )
update 2014-03-03

環境

Win8.1
 
概要説明

「ドキュメント」、「デスクトップ」、「お気に入り」、「ダウンロード」フォルダなどをシステムフォルダという。
システムフォルダはレジストリが関連しているので、一般のフォルダのようなフォルダ移動処理はできない。
その代りに「場所」移動(シンボリック リンクを使用したリダイレクト処理)という方法が用意されている。
ここではシステムフォルダーである「ドキュメント」フォルダの「場所移動」について、確認テストを行なってみた。
ドキュメント フォルダは レジストリでは Personal という名前になっている。

テスト中に気付いたこと

(1) エクスプローラのフォルダ名の表示がリアルタイムで更新されない、元に戻らない場合があることに遭遇した。
この場合は再オープン、再ログオン、または再起動してみると更新されるようだが、直らない場合もあった。

(2) 何らかの条件が重なるとエクスプローラのフォルダ名の表示が不安定になることがあるようだ。
たとえば下記のようなケースに遭遇した。
(ケース1)
「標準に戻す」を行なうと場所移動先のフォルダ名で戻ってしまった。(「ドキュメント」という名前にならなかった)
(ケース2)
場所移動先にドライブ(例: H:\ )を指定したら「ドキュメント」の表示が「 H:\ 」になった。
ただし、「標準に戻す」を行なうと、「 H:\ 」の表示が元の「ドキュメント」という表示に戻った。

作業内容

A 「ドキュメント」フォルダのデフォルト状態

A-(1) ドキュメント フォルダなど「特殊フォルダ(Special Folder)」と云われるフォルダがある。
docu1-1.png

A-(2) ドキュメント フォルダの種類は「システムフォルダー」である。(普通のフォルダーの種類は「ファイルフォルダー」である)
docu1-2.png

A-(3) ドキュメントフォルダのプロパティの「場所」タブを開くと下記のようになっている。
ファイル名は Documents であることが解る。( フルパスは C:\Users\ユーザー名\Documents )
docu1-3.png

A-(4) ドキュメントフォルダのレジストリは下記のようになっている。
キー: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
名前: Personal
データ: C:\Users\ユーザー名\Documents
reg-1.png


B 「場所」移動( Location の移動)

B-(1) 移動先の場所として、ドライブ:Hに「場所移動先ドキュメント」 というフォルダを作成しておく。
※フォルダ名としては好ましくないが、テストのための識別しやすい名前として使用している。
フォルダ名を ドキュメント とか Documents などとしておくと、元のフォルダ名と同じなのでかえって解りにくいことになる。
※フォルダを作成しないでドライブのルートフォルダ( H:\ )に移動すると、元に戻す(標準に戻す)際に工夫が必要になる。(後述参照)
docu2-1.png

B-(2) ドキュメント フォルダのプロパティ「場所」タブを開いて「移動」ボタンをクリック。
docu2-2.png

B-(3) 移動先の場所として H:場所移動先ドキュメント フォルダを選択する。
docu2-3.png

B-(4) 「フォルダーの移動」確認画面で移動場所(新しい場所)を確認して「はい」ボタン クリック
docu2-4.png
場所移動は完了した。
この時点で元の場所の「ドキュメント」と新しい場所の「場所移動先ドキュメント」はリンクが作成されている。

B-(5) ドキュメント フォルダのプロパティを見ると場所が H:\ となっていて「リンクフォルダ」であることがわかる。
docu2-5.png

B-(6) ドキュメント フォルダのプロパティの「場所」を見ると「H:\場所移動先ドキュメント」になっている。
※ドキュメントフォルダの実体は「H:\場所移動先ドキュメント」フォルダであることがわかる。
docu2-6.png

B-(7) この時点でレジストリのデータは H:\場所移動先ドキュメント に変更されている。
reg-2.png


C 移動先の確認

C-(1) 移動先の「場所移動先ドキュメント」フォルダは名前が変更されて「ドキュメント」となっている。
元の「ドキュメント」のリンクフォルダ名であることが解る。
docu3-1.png

C-(2) フォルダの種類は一般のフォルダーであるファイルフォルダーとなっている。
docu3-2.png

C-(3) 「場所」の名前は「H:\場所移動先ドキュメント」フォルダであることがわかる。
リンクフォルダ名は「ドキュメント」であるが、実体は「場所移動先ドキュメント」フォルダであることがわかる。
docu3-3.png


D 元に戻す( 標準に戻す)

D-(1) 元の場所に戻すには「標準に戻す」をクリックする。
標準の場所が表示される。
docu4-1.png

D-(2) 場所移動したために元の場所には「Documents」フォルダは存在しないので新たに作成する。
docu4-2.png

D-(3) すべてのファイルを移動するので「はい」をクリックする。
docu4-3.png

以上で元のドキュメントの状態に戻った。(「場所」の表示は C:\Users\ユーザー名\Documents に戻っている)
移動先のフォルダ「場所移動先ドキュメント」は消えている。
レジストリは元に戻っている。( データの表示は C:\Users\ユーザー名\Documents に戻っている)

E ドライブのルートフォルダ(H:\ )に場所移動すると・・・

E-(1) 移動先のフォルダ名が指定されていないので、移動先は「 H:\ 」というフォルダ名であると見なされる。
docu5-1.png

E-(2) レジストリ のデータは 「H:\」 となっている。
reg-3.png

E-(3)元に戻す際の「フォルダの移動」の確認画面では「いいえ」を選択する。
「いいえ」を選択するのは下記の理由である。
E-(3-1) 「はい」を選択すると、ドライブ:H にあるすべてのフォルダ、ファイル(「隠し」および「システム」フォルダ、ファイルも含む)が戻す対象になってしまう。
戻したいのは元の「ドキュメント」にあったフォルダ、ファイルだけなのに、余計なフォルダ、ファイルまで含まれてしまう。
E-(3-2) 「システム」フォルダ(例: System Volume Information フォルダ)は戻せないので「アクセス拒否」エラーになってしまう。
docu5-2.png

E-(4) 「いいえ」を選択して戻すと下記のように元に戻る。(レジストリも元のデータに戻っている)
ただし、「ドキュメント」という環境が戻っただけなので、内容は「空」の状態である。
元の「ドキュメント」にあったフォルダ、ファイルはドライブ:H から手作業で移動させる。
docu5-3.png

end of list