フォルダ内のファイルをすべて取得する

.NET関数を使用する方法


Directory.GetFiles関数

パラメータに指定したフォルダ内のファイル一覧を取得し、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」 と指定することでサブフォルダ内の全てのファイルも取得対象となります。

構文サンプル

'Rootフォルダ直下に5つのファイル、Rootフォルダ配下のサブフォルダに10のファイルがある場合
files = Directory.GetFiles("C:\Users\rpauser\Documents\Root\", "*", SearchOption.AllDirectories)
Console.WriteLine(files.Count)
-> 15

UiPathにおける使用方法

[代入 (Assign)]アクティビティ、または[繰り返し (コレクションの各要素) (ForEach)]アクティビティなどで使用します。

[代入 (Assign)]アクティビティを使ったパターン
[繰り返し (コレクションの各要素) (ForEach)]アクティビティを使ったパターン