フォルダ内のテキストファイルの起動について

特定のフォルダ内に保管されている複数のテキストファイルを
順次開く方法をお教えいただけますでしょうか?

こんにちは

特定のフォルダ内に保管されている複数のテキストファイルを

例えば、System.IO.Directory.GetFilesメソッドとForEachアクティビティを使います。

img20210325-5

順次開く方法をお教えいただけますでしょうか?

開くだけならStartProcessアクティビティで開きますが、やりたいことは何でしょうか?
単に内容を読み込みたいのであればRead Text File Activityを使えば良いかと思います。

ご教示ありがとうございます。

やりたいこととしましては、指定のフォルダ内のTXTファイルを
開いて、ファイル内に指定の文面が検索できれば、ファイル名を
変更するという処理となります。

こんにちは

単純には以下のような感じになると思います。
(ファイルパスの細かい処理は省いていますのでご留意ください)

1 Like

ご教示ありがとうございました。

もう1つお教え頂きたいのですが、
特定文字を検索できたら、「A.txt」というファイル名を「【OK】A.txt」に
変更したいのですが、記述方法をお教えいただけますでしょうか?
※この作業をフォルダ内のTXTファイルが存在するだけ処理を行なう想定です。

こんにちは

GetFilesで取得したフルパスのファイルパスを扱うとして、そのファイルパスをfullpathとすると

ディレクトリの取得は

System.IO.Path.GetDirectoryName(fullpath)

ファイル名の取得は

System.IO.Path.GetFileName(fullpath)

ファイルパスの結合は、System.IO.Path.Combineメソッドを

それぞれ使用するので、これらを組み合わせると

 System.IO.Path.Combine(System.IO.Path.GetDirectoryName(filepath),"【OK】"+System.IO.Path.GetFileName(filepath))

になります。

ご教示ありがとうございます。

張り付けて頂きました記述文内のif文の「content.contains(“Keyword”)」を
指定しているのですがcontentが定義されていませんとエラー表示になります。

あと、お教え頂きましたファイル名の変更は、「ファイルの移動」アクティビティ
を使用して行なえば宜しいでしょうか?

こんにちは

張り付けて頂きました記述文内のif文の「content.contains(“Keyword”)」を
指定しているのですがcontentが定義されていませんとエラー表示になります。

contentというString型の変数を定義した上で
Read Text Fileアクティビティの出力にセットしてください。

あと、お教え頂きましたファイル名の変更は、「ファイルの移動」アクティビティ
を使用して行なえば宜しいでしょうか?

同じディレクトリ内で移動すれば、リネームになります。

1 Like

ご教示ありがとうございます。

何度も申し訳ございません。
For Each内の本文でファイル名に「item」と設定しましたが、
エラーになりましたので、メッセージボックスで確認しましたが、
ファイル名が取得できておりませんでした。
記述の問題でしょうか?

こんにちは

文字だけですとどのように実装されているかわかりませんので、ワークフロー
(スクリーンショットofファイル)を共有いただくと良いかもしれません。

申し訳ございません。
ソースファイルを共有いたします。

Main.xaml (9.2 KB)

こんにちは

System.IO.Directory.GetFilesの引数は検索したい場所を指定します。
上記画像では仮でC:¥tempとしていますが、この部分は自分の検索したいフォルダを
指定する必要があります。
あとForEachのTypeArgumentはStringに変更しておいた方が良いです。

ご教示ありがとうございます。

「c:\temp」を作成し、txtファイルを入れて実行しておりますが、
itemの値がブランクとなります。

こんにちは

itemの値がブランクとなります。

これはどのように確認していますでしょうか?

ちなみに先にアップロードいただいたワークフローでは、ReadTextFileの出力先に
何も設定されていませんでしたので、こちらの追加も必要かと思います。

ご教示ありがとうございます。

ReadTextFile前にitemをMessage Boxにて確認いたしました。
ReadTextFileの出力先にはどちらにしようする項目名を
設定すれば宜しいでしょうか?

こんにちは

ForEachの内部で個別に変数としてitemを定義する必要はありません。
変数パネルからitemの定義を削除してから、再度実行してみてください。

その際

あとForEachのTypeArgumentはStringに変更しておいた方が良いです。

も行う必要があります。

ReadTextFileの出力先にはどちらにしようする項目名を
設定すれば宜しいでしょうか?

上述しました通り

contentというString型の変数を定義した上で
Read Text Fileアクティビティの出力にセットしてください。

になります

ご教示ありがとうございます。

ご教示頂きました内容でその部分は通過いたしましたが、
ファイルを移動の部分で下記のエラーが表示されます。
「値をNullにすることができません。パラメータ名:path1」
確認いたしましたが、path1という指定はどこにもしておりませんでした。
何が原因として考えられるでしょうか?

こんにちは

上記のfilepathというのはあくまで例なので、このワークフローですと
その部分をitemにする必要があります。

ご教示ありがとうございました。
無事作成することができました。
ご丁寧にお教えいただき、大変助かりました。

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