【Power Automate Desktop】ファイル名の末尾が日付8桁になっているか判別する方法

Power Automate

はじめに

今回は指定したフォルダに格納されているファイルが、「ファイル名の末尾に日付8桁をつける」という命名規則に沿っているかどうか判別する方法を検証していきたいと思います。

【ファイルの格納先】
  c:¥test

【検証に使用するファイル】
 ・test_2025311.xlsx    →命名規則に沿っていない
 ・test_abc_20250311.csv  →命名規則に沿っている
 ・testA_20250311.xlsx   →命名規則に沿っている

完成イメージ

はじめにフローの完成系をお見せします。

手順

①ファイルを取得するフォルダを指定する

②判別したい命名規則(今回は日付8桁)の文字数を変数に格納する

③命名規則に一致するファイルと一致しないファイルを入れるリストを作成する
 一致するファイル用のリスト :List_match
 一致しないファイル用のリスト:List_no_match

④手順①のアクションでフォルダから取得したファイルの数分、反復処理を行うFor eachを設定する

⑤処理対象となるファイル名の文字数(拡張子抜き)
 変数「CurrentItem」に「NameWithoutExtension.Length」のパラメータをつける
 このパラメータをつけることで、拡張子を除いたファイル名の文字数を取得することができる

⑥処理対象となるファイル名の文字数(拡張子抜き)から、命名規則の文字数を引く
 引いた値がこの後の「サブテキストの取得」アクションで、文字を取得する開始の位置になる

⑦命名規則の部分の文字を取得(ファイル名末尾の8文字)

⑧手順⑦で取得したファイル名末尾の8文字が命名規則に沿っているか解析する
 検索するテキストに記載している日付8桁を表す正規表現については別の記事で説明しています。
 →Power Automate Desktop】ファイル名の先頭に日付8桁が含まれているか判別する方法

⑨命名規則に一致していればList_matchに格納し、一致していなければList_no_matchに格納する

アクションの設定は以上です。
For eachのENDを最後に持ってくるのを忘れずに!

実行結果

期待値通りの結果になりました。

タイトルとURLをコピーしました