読者です 読者をやめる 読者になる 読者になる

しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

ドキュメントライブラリの物理的な場所を変更する

Windows ランタイムアプリ C# その他

通常は C ドライブのユーザーフォルダ配下に作成されるドキュメントライブラリフォルダですが、プロパティの場所タブにて「移動」ボタンで移動先フォルダを指定することで物理的な場所を変更することができます

f:id:matatabi_ux:20140602051933p:plain

ディスクのパーティションを2つに分割し、D ドライブにドキュメントライブラリを移動しておくと何か PC トラブルがあったときに OS インストールを行ったとしてもドキュメントライブラリのファイルを残しておけるので安心です

ただし、直接ドキュメントライブラリのパスを指定しているようなプログラムがあった場合、誤動作してしまいます

Windows アプリの場合はおなじみの KnownFolders を経由して指定すれば問題なし

var folder = KnownFolders.DocumentsLibrary;

ただ、バッチプログラムなんかはこういった参照ができないので、下記のようにレジストリから値を読み取って参照する必要があります

FOR /F "TOKENS=1,2,*" %%I IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal"') DO IF "%%I"=="Personal" SET MY_DOCUMENTS=%%K

ちょっとめんどくさいですね