自動化
PR

Power Automateでファイルをコピー・移動する方法|SharePoint/OneDrive対応・上書き/リネームも

sanane
記事内に商品プロモーションを含む場合があります

はじめに

Power Automate で「ファイルを別のフォルダーにコピーしたい・移動したい」というのは定番の要件です。ところが実際にやろうとすると、「同じ名前のファイルがあったらどうなる?」「別サイトにコピーできる?」「コピーしながら名前を変えたい」「SharePoint と OneDrive で操作が違う?」といった疑問が次々に出てきます。

本記事では、SharePoint と OneDrive の「ファイルのコピー」「ファイルの移動」を実際の画面つきで解説します。特に、多くの人がハマる「同じ名前のファイルが既にある場合」の3つの選択肢の挙動を、実機で 1 つずつ確認しました。すべて標準コネクタ(プレミアム不要)です。

こんな人にオススメ
  • SharePoint / OneDrive のファイルをコピー・移動したい
  • 同名ファイルがある時の「上書き / 別名保存 / 失敗」を使い分けたい
  • コピーと同時にファイル名を変えたい・別サイトへコピーしたい

Power Automate の基本・料金・他の実例一覧はこちら。

あわせて読みたい
Power Automateとは?できること・使い方・始め方を実例28本で解説
Power Automateとは?できること・使い方・始め方を実例28本で解説

まずコネクタを選ぶ:SharePoint と OneDrive で別アクション

「ファイルのコピー」というアクションは、SharePoint 用と OneDrive 用が別々に存在します。アクション検索で「ファイルのコピー」と入れると、両方のコネクタの候補が並ぶので、扱いたい保存先のものを選びます。

アクション検索でファイルのコピーを検索し、SharePointとOneDriveの候補が並ぶ画面

後述しますが、この 2 つはパラメーターの体系がかなり違います。まずは使う人が多い SharePoint 版から見ていきます。

SharePoint「ファイルのコピー」の設定

SharePoint「ファイルのコピー」のパラメーターは次の 5 つです。

  • 現在のサイト アドレス … コピー元のサイト
  • コピーするファイル … 元ファイル(フォルダーピッカーで選択)
  • 送信先サイト アドレス … コピー先のサイト
  • インストール先フォルダー … コピー先のフォルダー
  • 別のファイルが既に存在する場合 … 同名衝突時の動作(後述の 3 択)
SharePointファイルのコピーの5つのパラメーター画面

「送信先サイト アドレス」には別のサイトも指定できます。 ドロップダウンにテナント内の他サイトが並び、「カスタム値を入力する」で任意のサイト URL も指定可能。つまりサイトをまたいだコピーが 1 アクションでできるのは、地味ですが便利なポイントです。

送信先サイトアドレスのドロップダウンで別サイトを選べる画面

【最重要】同名ファイルがある場合の3つの選択肢

この記事の核心です。「別のファイルが既に存在する場合」のドロップダウンには 3 つの選択肢があります。ここで注意したいのは、日本語 UI なのにこの選択肢だけ英語表記のままという点。初見だと戸惑うので、意味を押さえておきましょう。

別のファイルが既に存在する場合のドロップダウンに英語で3つの選択肢が表示されている
  • Fail this action失敗させる(同名があったらエラーで止める)
  • Copy with a new name別名でコピー(連番を付けて保存)
  • Replace置き換える(既存ファイルを上書き)

実際に同じ コピーテスト.txt を 2 回コピーして、それぞれの挙動を確認しました。

Fail this action:同名があると失敗

同名ファイルがあると、フローは失敗します。エラーは「宛先に名前 'コピーテスト.txt' のファイルまたはフォルダーが既に存在します。」(BadRequest)です。既存ファイルを絶対に壊したくない場面向きです。

Fail this action設定で同名ファイルがあり、既に存在しますというBadRequestエラーで失敗した画面

Copy with a new name:連番を付けて別名コピー

こちらは成功し、連番を付けた別名で保存されます。コピーテスト.txt に対して コピーテスト1.txt が作られました(括弧付きの (1) ではなく、数字がそのまま付く点に注意)。

Copy with a new nameで、コピーテスト.txtの隣にコピーテスト1.txtが作られた画面

Replace:既存ファイルを上書き

Replace は既存ファイルをそのまま上書きします。最新の内容で常に置き換えたい定期同期のような処理に向いています。

Replace設定で既存ファイルが上書きされた結果の画面

「ファイルの移動」はコピーとほぼ同じ(元が消える)

「ファイルの移動」のパラメーターは、「ファイルのコピー」と全く同じ 5 項目です。違いは実行結果だけ。コピーは元ファイルが残りますが、移動は元フォルダーからファイルが消えます。下は移動を実行した後、移動元フォルダーから コピーテスト.txt が消えている様子です。

ファイルの移動後、移動元フォルダーからファイルが消えている画面

コピーしながら名前を変える(リネームコピー)

SharePoint「ファイルのコピー」にはファイル名を指定する欄がないため、単体では名前を変えられません(フォルダーしか指定できない)。コピー+リネームをしたい場合は、次の 2 アクションを組み合わせます。

  1. SharePoint「ファイル コンテンツの取得」… 元ファイルの中身を取得
  2. SharePoint「ファイルの作成」… 好きなファイル名とコンテンツ(前段の出力)を指定して新規作成
ファイルコンテンツの取得とファイルの作成の2ステップからなるリネームコピーのフロー全体図

「ファイルの作成」のファイル名に式を使えば、日付入りのファイル名も作れます。たとえば次の式なら backup_20260707.txt のようなファイルが毎回できます。

concat('backup_', formatDateTime(utcNow(),'yyyyMMdd'), '.txt')
ファイル名にconcatとformatDateTimeを使った式を入力している式エディタ

実行すると、日付付きの backup_20260707.txt が生成されました。

リネームコピーの結果、backup_20260707.txtが生成された画面

ファイル名に使う formatDateTime は UTC のままだと日付がずれることがあります。日本時間の日付でファイル名を付けたいときは convertTimeZone を挟みましょう。詳しくは日付フォーマットの記事で解説しています(末尾のリンク参照)。

SharePoint から OneDrive へコピーする

「SharePoint のファイルを OneDrive に持ってきたい」といったサービスをまたぐコピーも、先ほどのリネームコピーと同じ発想でできます。「ファイル コンテンツの取得」(SharePoint)→「ファイルの作成」(OneDrive)の 2 段構成です。

SharePointのファイルコンテンツの取得からOneDriveのファイルの作成へつながるフロー全体図

実行すると、OneDrive 側のフォルダーにファイルが作成されました。

OneDriveのPAコピーテストフォルダーにコピーテスト1.txtが作成された結果

OneDrive「ファイルのコピー」は仕様が違う

同じ「ファイルのコピー」でも、OneDrive 版は SharePoint 版と体系が異なります。衝突時の選択肢は 3 択ではなく「上書きする」の2 択(はい / いいえ)。そして「対象ファイルのパス」にファイル名まで含められるため、OneDrive 内なら 1 アクションでリネームコピーが完結します。

OneDriveファイルのコピーのパラメーター。対象ファイルのパスと上書きするの2択方式
SharePoint版とOneDrive版の違い
  • 衝突時:SharePoint=3択(失敗/別名/置き換え)/OneDrive=2択(上書き はい・いいえ)
  • ファイル名指定:SharePoint=不可(フォルダーのみ)/OneDrive=可(パスに含められる=単体でリネーム可)

まとめ

Power Automate のファイルコピー・移動の要点を整理します。

  • 同名衝突は3択(SharePoint)。 Fail this action=失敗/Copy with a new name=連番で別名/Replace=上書き
  • 移動はコピーと同じ設定で、元が消えるだけ。 別サイトへのコピーも可能
  • コピー+リネーム/SP→OneDrive は「コンテンツの取得」→「ファイルの作成」の2段構成
  • OneDrive版はパスにファイル名を含められ、単体でリネームコピー可

ファイル名の日付整形や、取得したファイルをループで処理する方法はこちらもどうぞ。

あわせて読みたい
Power Automateの日付・時刻の扱い方|formatDateTime・convertTimeZoneでUTCズレを直す
Power Automateの日付・時刻の扱い方|formatDateTime・convertTimeZoneでUTCズレを直す
あわせて読みたい
Power Automateとは?できること・使い方・始め方を実例28本で解説
Power Automateとは?できること・使い方・始め方を実例28本で解説
記事URLをコピーしました