スポンサーリンク

UiPath フォルダ内のファイル一覧を取得する方法

スポンサーリンク

UiPathでフォルダ内のファイル一覧(リスト)を取得する方法

今回は、UiPathで「フォルダを選択(SelectFolder)」などを使用してフォルダパスを取得し
フォルダ内にあるファイル一覧を取得する方法についてご紹介します。

事前準備

今回はデスクトップに「test」というフォルダを作成し、test(n).txt(nは1から連番で)を作成してから実行しています。
以下は環境を作るためのbatファイルの中身です。

@echo off

set mkdir=%USERPROFILE%\Desktop\test
set /P mkval="作成するファイル数を入力:"
set /a mkval=mkval-1

md %mkdir%

:loop
set /a i+=1
copy nul %mkdir%\test%i%.txt
if %i% leq %mkval% goto loop

最初に「作成するファイルを入力:」と表示がされるので、作成したい数を入力してください。
ここでは、5つ作成して実行しています。

image.png

変数の作成

変数名変数の型既定値
FolderPathString
FileListList(String)New List(of String)

上記の表の通りに変数を作成してください。

image.png

フォルダパスを取得する

まず「フォルダを選択」を配置します。
アクティビティ検索欄に「フォルダを選択」と入力するか
システム -> ダイアログ -> フォルダを選択から配置してください。

配置が完了したら、右側のプロパティ欄で「出力」にFolderPathと入力してください。

image.png

ファイル一覧(リスト)を取得する

次にファイル一覧を取得するために「代入」を配置します。
デフォルト設定ではお気に入りにあるのでそこから配置してください。

配置が完了したら、FileList = System.IO.Directory.GetFiles(FolderPath).ToListとなるように入力します。

image.png

System.IO.Directory.GetFiles(FolderPath)でファイル一覧をArray形式で取得してくるためList形式で取得したい場合は最後に.ToListを入力して変換する必要があります。

これで、ファイル一覧を取得することが出来ました。

テスト

ファイル一覧が取得できているか確認するために、「繰り返し (コレクションの各要素)」を配置します。
アクティビティ検索欄に「繰り返し (コレクションの各要素)」と入力するか
ワークフロー -> コントロール -> 繰り返し (コレクションの各要素)から配置してください。

配置が完了したら、右側のプロパティ欄で「TypeAugment」Stringを選択し、「コレクション値」にFileListと入力してください。

image.png

入力が完了したら、「本体」内に「1行を書き込み」を配置します。
デフォルト設定ではお気に入りにあるのでそこから配置してください。

配置が完了したら、itemと入力します。

image.png

最終的なフロー図は以下のようになります。

image.png

それでは、実行してみましょう。

output.png

フォルダ内にあるファイル一覧が全て表示されました。

コメント