複合検索:File search in directory

ディレクトリにあるファイル検索
仮に検索ディレクトリ内に以下のファイルが存在しているものとします。
1.A_201802.xlsx
2.B_201802.pdf
3.A_201803.doc
4.C_201803.doc
5.B_201802.xlsx
6.C_201803.xlsx

検索条件として最初の1バイト目がAかBを選択します。
検索結果
1.A_201802.xlsx
2.B_201802.pdf
3.A_201803.doc
5.B_201802.xlsx

vb.netであれば色々サンプルがネット上で見かけます。
UIPATHではどうすればよいでしょうか。

File search in directory
Suppose that the following files exist in the search directory.
1.A_201802.xlsx
2.B_201802.pdf
3.A_201803.doc
4.C - 201803.doc
5.B_201802.xlsx
6.C - 201803.xlsx

The first byte selects A or B as the search condition.

search results

1.A_201802.xlsx
2.B_201802.pdf
3.A_201803.doc
5.B_201802.xlsx

If you are vb.net you can see various samples on the net.
What should I do with UIPATH?

1 Like

hi @matrix99999

You can use this
string sDirectoryInfo = Directory.GetFiles(SourcePath, “.”);

and based on if condition you can use contains and select the particular file

Thanks
Ashwin S

1 Like

dear sir.
thank you!
How can we compare conditions when arrayed?
UIPATH I just started.
Please teach me.

LINQで無理矢理つなげる、VB.NET手法ですが。

(IO.Directory.GetFiles(targetPath, "A*").Union(IO.Directory.GetFiles(targetPath, "B*"))).ToArray()

で、targetPathにある「AまたはBからはじまるファイル」の配列(String()型)が取れます。
(検索対象の文字が3つや4つに増えるなら、複数回For Eachを回すとかのほうが無難とは思いますが)

add_array.xaml (5.7 KB)

1 Like

HONOKA様
ありがとうございます。
vb.netの知識改めて必要と感じました。

HONOKA様
申し訳ございません。
検索対象の文字を複数と考え、each for の中でswitchを用いて考えています。
vb.netあるいは各種サイト等調査しましたがうまくいきません。
可能であればご教示いただければと思います。

こんな感じでどうでしょう。
(Switchの仕様って少しわかりにくいですね。String型だと、Case内の表記が"A"ではなくAだけになる、とか)

FindFiles.xaml (7.0 KB)

1 Like

HONOKA様
ありがとうございます。
UIPATHでここまで制御できるとは。
やはりvb.netを踏み込まないと駄目と感じました。
cobol世代のものとして。