条件分岐で複数条件がある場合

Uipath初心者です。

条件分岐で複数条件がある場合の方法を教えていただきたいです。

フォルダの中にある複数のファイルの中で、ファイル名に特定の文字列Aと特定の文字列Bと特定の文字列Cを含むPDFファイルがある場合、その該当ファイル全てを別のフォルダにコピペしたいです。

”ファイルパス”という変数にSystem.IO.Directory.GetFiles(フォルダのパス, “*.pdf”)を代入して、
”複数条件”という変数に{“文字列A”,“文字列B”,“文字列C”}を入れて、
条件分岐の条件にファイルパス.Contains(複数条件)としましたが出来ませんでした。

どなたかよろしくお願いいたします。

配列で複数の文字列を条件にすることはできないので、
冗長的ですが、以下のように条件を指定してみてください。

ファイルパス.Contains(“文字列A”) and ファイルパス.Contains(“文字列B”) and ファイルパス.Contains(“文字列C”)

1 Like

できました!
ありがとうございました!

1 Like

こんにちは

すでに解決済みですが、以下参考です。

条件に用いる配列の要素数が多い場合、あるいは変動する場合は、固定的に条件を
並べるのはあまり好ましくありませんので例えば以下のような式を使うことができます。

keywords.All(Function(s) item.Contains(s))

あるいは、全体をFor Eachにかける前に、ファイルパス配列に対してフィルターを
かける方法もあります。

img20210704-2

最後に、これは要件次第では不要ですが、GetFilesメソッドで取得した値は、フルパスの
値になりますので、途中のディレクトリ名が不要で、ファイル名だけを評価したい場合は
例えば最初の例ですと

keywords.All(Function(s) System.IO.Path.GetFileName(item).Contains(s))

のようにGetFileNameメソッドを組み合わせると良いと思います。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.