指定フォルダ内に[aaa.CSV,bbb.CSV,ccc.CSV]のファイルが存在すれば後続処理実行。
というならシナリオを作成したいです。
files[Strig]={aaa.CSV,bbb.CSV,ccc.CSV}
checkFiles[Strig]=Directory.GetFiles(“指定するパス”)
for each file in checkFiles??
とここまではなんとか浮かぶんですが、、、
それ以降で煮詰まってしまい。
ご教示頂きたく思いました。
指定フォルダ内に[aaa.CSV,bbb.CSV,ccc.CSV]のファイルが存在すれば後続処理実行。
というならシナリオを作成したいです。
files[Strig]={aaa.CSV,bbb.CSV,ccc.CSV}
checkFiles[Strig]=Directory.GetFiles(“指定するパス”)
for each file in checkFiles??
とここまではなんとか浮かぶんですが、、、
それ以降で煮詰まってしまい。
ご教示頂きたく思いました。
Try this:
strFiles [ ] = Directory.GetFiles(“FolderPath”)
Then use For Each loop to itreate the files.
ForEach item in strFiles
Print item
Thanks!
I knew it to loop, but
I’m wondering what to do with the processing in the loop
What are you trying to do after getting files ?
Merge 3 files if it is.
If there is not, I want to display a message box.
こんな感じでどうですか?
Array.IndexOf() で、取得したファイル一覧(chkfiles) の中に、指定したファイル(c:\temp\a.csv)があるかを1個ずつ判定しています。
ファイルがあったら条件分岐がTrueになるので左側の箱に行ってファイル名が表示される、という流れです。
上記例はファイルが存在したら都度実行なので、3個存在したら3回実施してしまいますね。
指定したファイルの「どれか一つがあったら後続処理実行」という場合は、左の箱をbooleanのフラグにしておいて、
繰返しを抜けたらもう一回条件分岐でフラグがオンなら、とかやるのですかね。
Do you want to check is it three files or not right ?
Then after this expression try this:
Int32 fileCount = strFiles.count
If fileCount = 3
Then merge Files
Else
print Files are less than 3
As it is CSV files, use Read CSV File Activity to read the the data and will give output as DataTable and then use Merge DataTable Activity to merge files.
Hi @kunie
ご指定のファイルの配列に含まれるファイルが「すべて存在しないといけない」前提での回答です。
ファイルの配列に対してFor eachを使ってひとつずつ抽出し、
ひとつひとつのファイルを、Path Existsで確認し、結果を変数に入れます。
確認したあと、Ifアクティビティで結果の変数がfalse、つまり存在しない場合にはBreakします。
もしすべてのファイルがあれば、Path Existsはすべてのファイルでtrueになりますので、For eachを抜けたあともtrueです。
逆にひとつでもファイルが無ければ、Path Existsがそのタイミングでfalseになり、そのfalseの状態でBreakするので、For eachを抜けたあともfalseになります。
test_checkfiles.xaml (7.0 KB)
ありがとうござます。
教えて頂いた方法で、GetFileNameを設定すれば、
ファイル名取得できました。
Array.IndexOf(checkfile,GetFileName(item).Tostring)
@lakshman
@jitendra_123
@cheez_RPA
Thanks!
It worked well thanks to various wisdom
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.