Windows8のファイル履歴のファイルを強引に復元する

ファイル履歴のファイル名

Windows8からファイルの履歴を保存して,任意の日時のファイルを取り出せる
「ファイル履歴」が追加されました.


私はこれをファイルバックアップに使用していたのですが,ちょっと困ったことが.


Windows8の最初のセットアップ時は律儀にMicrosoftアカウントを入力していたのですが,
家庭用のパソコンで起動時に毎回パスワードを入力するのも面倒になったので,
先日Windows8を再セットアップした際はローカルアカウントで適当なユーザ名を入力しました.


で,セットアップを終えていざファイル履歴からファイルを復元しようとすると...


「このドライブはファイル履歴で認識されません」ありー?


でしょうがないのでファイル履歴のデータを見てみると,どーも
以前のユーザ名,パソコン名でフォルダが構成されていて,
同じユーザ名,パソコン名でないとだめな模様.これは困った.


ただ生のデータはあるので,これをコピーすれば...
と思ったらファイル名に保存日時が付加されている!余計なことを!
(右上の画像参照)


そんなわけで,二つのディレクトリA,Bを指定するとファイル名から日時を削除して
AからBへ子フォルダ含めてファイルをコピーするプログラム作りました.


日付を削除するアルゴリズムは拡張子を除いたファイル名から最後の"("を探して,
それ以降を削除するだけです.Bにすでに同名のファイルが存在する場合は".backup"
と拡張子をつけた名前にして退避します.


使い方例:
コマンドプロンプトから

>FileHistoryRestore D:\FileHistory\旧ユーザ名\旧パソコン名\Data\C\Users\旧ユーザ名 C:\Users\新ユーザ名


ソースコードと実行ファイル:
*お約束*自己責任でご使用ください
Public - Google ドライブ