4,938 views
この記事は最終更新から 1396日 が経過しています。
Windowsネタだが書いておくところがないので本ブログに記録しておきたい。
1. やりたいこと
Windows10のコマンドプロンプト上で、OneDriveのフォルダにあるファイルにアクセスしたい。
具体的には…
robocopy コマンドで OneDriveの内容をローカル HDDにバックアップしたい。
ここで問題になるのは…
パソコンによってログインユーザー名が異なる場合に
C:\Users\{username}\OneDrive
でアクセスしようとすると、ユーザーによってパスが変わってしまい、
OneDrive上に設置した robocopyバッチファイルを複数パソコンで共有できない
という運用上の問題が起こった。
2. 解決策
ユーザーごとの環境変数を使って OneDriveフォルダにアクセスする。
環境変数 %OneDrive% を使ってアクセスするのが便利だ。
例えば以下のように使える。
robocopy %OneDrive% F:\ /s /e
robocopy %OneDrive%\MyJob G:\Arc\MyJob /s /e
3. 環境変数の確認方法
Windows10の画面左下にある入力領域に 環境変数 と入力する。

検索結果が表示されるので 環境変数を編集 をクリックする。

すると…
環境変数の一覧に OneDrive なるものが表示されている。

自分でこの変数を登録した記憶はないので、Microsoftが勝手に登録してくれたのだろう。
4. 参考情報
1) (110) 【Windows10】で差分だけバックアップ ← robocopyに使い方
2) 他の対策として OneDriveにドライブレター「Z」を割り当てて「Z:\」でアクセスしてみた。
→ アクセスは出来たが…
robocopyコマンドで差分チェックが正しく働かず、全コピーになってしまう。(2022年1月10日時点)
→ 不採用
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2025-12-09: 0回 2025-12-08: 1回 2025-12-07: 2回 2025-12-06: 2回 2025-12-05: 5回 2025-12-04: 2回 2025-12-03: 2回