フォルダ内のファイルをすべて取得する
フォルダ内のファイルをすべて取得するには、公式アクティビティが用意されていないため、.NET関数を使用します。
.NET関数を使用する方法
System.IO.Directory.GetFiles関数を使用します。
※「System.IO.」は省略可能です。
※「System.IO.」は省略可能です。
パラメータに指定したフォルダ内のファイル一覧を取得し、Array型の配列として返却します。
指定したフォルダのサブフォルダ内のファイルまで取得するかどうかは、パラメータで指定することができます。
指定した条件に当てはまるファイルのみ取得したい場合はこちらをご覧ください。
指定した条件に当てはまるファイルのみ取得したい場合はこちらをご覧ください。
サブフォルダを含まない取得パターン
パラメータ | 型 | 説明 |
---|---|---|
戻り値 | string[ ] | ファイル一覧のArray型の配列 |
第一引数 | string | フォルダパス |
files = Directory.GetFiles("フォルダのフルパス")
構文サンプル
'Rootフォルダ直下に5つのファイル、Rootフォルダ配下のサブフォルダに10のファイルがある場合
files = Directory.GetFiles("C:\Users\rpauser\Documents\Root\")
Console.WriteLine(files.Count)
-> 5
UiPathにおける使用方法
[代入 (Assign)]アクティビティ、または[繰り返し (コレクションの各要素) (ForEach)]アクティビティなどで使用します。
[代入 (Assign)]アクティビティを使ったパターン
Array型の配列が返ってくるため、Array型、もしくはList型の変数を作成し、代入式の左辺に設定します。
以下の例では、Array型の返ってくるのを、List型に変換しています。
[繰り返し (コレクションの各要素) (ForEach)]アクティビティを使ったパターン
[繰り返し (コレクションの各要素) (ForEach)]アクティビティでは、繰り返し処理をしたいコレクション(配列)を指定することで、配列から一要素ずつ取り出したものが「要素」に設定され、要素数分繰り返し呼び出されます。
「コレクション」には関数を指定することも可能ですので、ここでは Directory.GetFiles 関数を指定します。
「要素」名はitemでもいいですが、わかりやすく file に変更します。
Point
[代入 (Assign)]アクティビティを使ったパターンに比べ、変数を作らなくて済む分シンプルに記述できます。
TypeArgumentは String に変更することで、file変数を文字列変数として扱うことができます。
サブフォルダを含む取得パターン
パラメータ | 型 | 説明 |
---|---|---|
戻り値 | string[ ] | ファイル一覧のArray型の配列 |
第一引数 | string | フォルダパス |
第二引数 | string | 検索条件 “*“で全ファイル対象 |
第三引数 | System.IO.SearchOption | 検索オプション SearchOption.AllDirectoriesでサブフォルダを含む指定 |
指定したフォルダのサブフォルダ内のファイルまで取得するには、以下のパラメータを指定します。
files = Directory.GetFiles("フォルダのフルパス", "*", SearchOption.AllDirectories)
Point
第二引数にはファイルの検索パターンを指定しますが、ここでは「*」を指定することで全てのファイルを対象としています。
第三引数に 「SearchOption.AllDirectories」 と指定することでサブフォルダ内の全てのファイルも取得対象となります。
第三引数に 「SearchOption.AllDirectories」 と指定することでサブフォルダ内の全てのファイルも取得対象となります。
構文サンプル
'Rootフォルダ直下に5つのファイル、Rootフォルダ配下のサブフォルダに10のファイルがある場合
files = Directory.GetFiles("C:\Users\rpauser\Documents\Root\", "*", SearchOption.AllDirectories)
Console.WriteLine(files.Count)
-> 15
UiPathにおける使用方法
[代入 (Assign)]アクティビティ、または[繰り返し (コレクションの各要素) (ForEach)]アクティビティなどで使用します。