ファイル名の先頭へ文字をまとめて付ける
PDF名の先頭へ「確認済_」を追加します。すでに付いている名前は除外し、同名ファイルを上書きしない設定と、初回・再実行の結果を5ファイルで確認します。
画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。
実行前に確認
- 名前変更は元ファイルへ直接反映されます。バックアップとは別の練習用コピーで確認し、同名時の設定を「上書き」に変えないでください。
- 除外条件は、名前の先頭が確認済_と一致するかだけを見ます。途中に同じ文字がある名前や別の接頭辞は除外しません。「確認済_」が付いていても、PDFの内容を人が確認した証拠にはなりません。
- 同名衝突の納品.pdfは、何度実行しても残ります。追加変更0件でも「すべて処理済み」とは限りません。衝突の解消方法は人が内容を見て判断します。
- この例は並行実行や、実行中に別の人が名前を変える状況を扱いません。ファイルの権限・ロック・使用中のアプリによっても失敗し得ます。実行中は練習フォルダーを変更せず、実運用前に対象件数と結果を確認します。
1使うアクション
- アクション 1フォルダー内のファイルを取得*.pdfだけ・サブフォルダーなし
- アクション 2For eachFilesを1件ずつCurrentFileへ
- アクション 3If名前が「確認済_」で始まらない
- アクション 4ファイルの名前を変更するIf内:CurrentFileだけを変更。最初はメッセージ表示で候補確認
- アクション 5EndIfの終わり
- アクション 6EndFor eachの終わり
図で見る処理のイメージ
概念図5ファイルから始める練習です。初回は1件だけ名前が変わり、同じフローを再実行しても接頭辞を重ねません。
名前が変わるのは、1件だけ
イメージ図同じフォルダーの変更前と、初回実行後の期待結果
納品.pdfは、そのまま残る変更先の「確認済_納品.pdf」が既にあるため、上書きしません。
もう一度実行 → 追加変更 0件接頭辞は重なりません。納品.pdfの同名衝突は未解消です。
PDFを取得
5ファイルのうちPDF4件。メモ.txtは対象外
先頭で分ける
確認済_で始まる2件を除外。候補は見積.pdf・納品.pdf
1件ずつ変更
見積.pdfを変更。納品.pdfは同名があるので何もしない
再実行
取得し直しても追加変更0件。納品.pdfは未変更のまま残る
初回:変更1件、ファイル数5個のまま。2回目:追加変更0件。同名衝突があるため、全PDFの処理完了を意味しません。
| 変更前の名前 | 初回の処理 | 初回後の名前 | 2回目の処理 |
|---|---|---|---|
| 見積.pdf | 先頭へ追加 | 確認済_見積.pdf | 先頭一致で除外 |
| 確認済_請求.pdf | 先頭一致で除外 | 確認済_請求.pdf | 先頭一致で除外 |
| 納品.pdf | 同名があるので変更しない | 納品.pdf | 同名があるので変更しない |
| 確認済_納品.pdf | 先頭一致で除外 | 確認済_納品.pdf | 先頭一致で除外 |
| メモ.txt | PDFの取得対象外 | メモ.txt | PDFの取得対象外 |
説明用の架空データから作った期待結果です。実際のPower Automate DesktopやWindowsで実行して確認した結果ではありません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する8ステップの設定と確認方法
- 1
準備:元ファイルとは別の練習フォルダー C:\PAD練習\PDF を作り、内容が架空のPDFのコピー4個とメモ.txtを、上の表にある5つの名前で置きます。納品.pdfと確認済_納品.pdfは別ファイルとして両方用意し、同名衝突を確認します。Windowsのエクスプローラーで拡張子を表示し、実データでは試さないでください。
- 2
「フォルダー内のファイルを取得」:フォルダーは C:\PAD練習\PDF、ファイルフィルターは *.pdf、サブフォルダーを含める=オフ、出力変数はFilesにします。この例の取得件数は %Files.Count% で4件です。メモ.txtは含まれません。
- 3
「For each」:反復処理を行う値を %Files%、現在の項目をCurrentFileにします。その内側に「If」を置き、最初のオペランド=%CurrentFile.Name%、演算子=「で始まらない」、2番目のオペランド=確認済_ とします。Nameは拡張子込みのファイル名です。FullNameはフォルダーパス込みなので、この先頭判定には使いません。
- 4
最初は名前変更アクションを追加せず、If内に「メッセージを表示」だけを置き、本文を「変更候補:%CurrentFile.Name%」にします。IfのEnd、その外側にFor eachのEndがあることを確認して実行。見積.pdfと納品.pdfの2件だけが表示され、ファイル名は1件も変わらないことを確認します。表示順は問いません。候補2件は変更成功2件を意味しません。
- 5
候補を確認したら、同じIf内のメッセージ表示を「ファイルの名前を変更する」に置き換えます。名前を変更するファイル=%CurrentFile% とし、%Files% 全体を渡さないでください。名前変更ルール=「テキストの追加」、追加するテキスト=確認済_、追加位置=「名前の前」、拡張子を維持=オン、同名ファイルが存在する場合=「何もしない」にします。出力変数はRenamedFilesです。
- 6
フロー全体を実行し、練習フォルダーを確認します。期待する変更は見積.pdfの1件だけ。確認済_請求.pdfと確認済_納品.pdfはIfで除外されます。納品.pdfは変更先の確認済_納品.pdfが既にあるため残り、メモ.txtもそのままです。ファイル数は5個のままです。
- 7
もう一度、取得からフロー全体を実行します。今回の追加変更は0件が期待値です。確認済_見積.pdfには接頭辞を重ねず、納品.pdfは同名衝突で再び変更されません。PDFが0件の空の練習フォルダーへ取得先だけを変えた場合は、For eachの内側を実行しません。確認後は元の練習フォルダーへ戻します。
- 8
確認に使う出力:RenamedFilesは名前変更アクション1回分の出力リストで、ループ全体の累計件数ではありません。同名時に何もしなかった回の出力だけで全体成功と判断せず、変更前後の名前と、未変更で残った納品.pdfを照合してください。権限やロックなどで失敗したら、対象ファイルとエラーを確認してから再実行します。
- 対象環境
- Power Automate for desktop(Windows)
- 更新日
- 2026年10月11日