任意のフォルダをOne Driveと同期したい

PCで One Drive の同期フォルダを任意のフォルダに変更する時のメモ

One Drive の機能ではできないが、シンボリックリンクを作成する事によって、疑似的なフォルダ変更が可能となる

Google Drive であれば、任意のフォルダを同期フォルダに指定する事ができるが、やはりWindowsとの親和性を考えて、Microsoft製の One Drive で実現したい

実際、Google Drive で対象フォルダを同期しようと試みたが、下記のような警告が出力された
実際、どのような挙動をするか不明なので利用は控えた

自分の用途としては、MT4のデータフォルダをインターネット経由で同期させる事である

MT4 や メタエディター では、データフォルダを変更する事ができないので、MT4規定のデータフォルダを同期させる必要があったという訳

まずは、対象フォルダを One Drive と同期しているフォルダ(One Driveフォルダ)配下に移動する(コピーでは無くてカット&ペーストで移動する)

その後はコマンドプロンプトを使用する

スタートボタン ⇒ アクセサリ ⇒ コマンドプロンプトを右クリックして管理者として実行
下記の構文で実行(右クリックメニューのコピー&ペースト使用可)

mklink /d 移動元フォルダ 移動先フォルダ
(/dがシンボリックリンク。各セクションを半角スペースでつなげる)

実際はこんな感じ
mklink /d C:\Users\ユーザ名\AppData\Roaming\MetaQuotes\Terminal\データフォルダ名(移動後で実体なし) C:\Users\ユーザ名\Documents\OneDrive\EA\データフォルダ(移動した実体)
※ \(バックスラッシュ)は半角の¥

 

「シンボリックリンクが作成されました」が出力されたらOK

実際に対象フォルダを見てみる

シンボリックリンクの方は実体は無いので、リンクの矢印が付いている

実体は移動先の C:\Users\ユーザ名\Documents\OneDrive\EA 配下に格納されている

これでOne Driveフォルダ配下に無い、任意のフォルダをOne Driveに同期する事が実現した