3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

あるフォルダに格納されたファイルを更新日時が新しい順に処理をする(Automation Anywhere A360)

Last updated at Posted at 2020-09-10

課題:

Automation Anywhere A360であるフォルダにあるファイルを読み込み、
順に処理をさせる際、ランダムな順序で読み込んでしまう。
これを更新日時が新しい順や古い順に処理させたい。

解決方法:

いろいろな方法があると思いますが、シンプルに実装出来るよう、今回はコマンドプロンプトを使用します。
(A360側にこういう機能が早く実装されてくれても良いんですが)

dir コマンド

コマンドプロンプトでフォルダ以下のファイル一覧を取得するのに使用する、dirコマンドを使います。
このコマンドのオプションで以下のような事が実現できます。

  • 更新日時順にソートする (/O-d)
  • Botが読み出しやすいようにファイル/フォルダ名だけを出力する (/B)
  • フォルダは出力対象外にする (/A-d)
  • テキストファイルに書き出し、存在しない場合は作成して書き出し

例えばファイルの一覧を取得する対象が"c:\Demo2"で、
結果をc:\Demo2\result.txtに書き出したい場合、以下のように記述します。

dir /O-d /A-d /B c:\Demo2\ >c:\Demo2\result.txt

コマンドプロンプトを起動して、どんな風な出力が出てくるか試してみてください。

コマンドプロンプトをA2019から呼び出し、引数でdirコマンド以下を渡す

以下のようなBotを作ります。

  • cmd.exeを呼び出し、dirコマンド以下を実行。
    • /c dir /O-d /A-d /B c:\Demo2\ >c:\Demo2\result.txt という具合に、cmd.exeに/cオプションを追加すると、それ以降のコマンドをそのまま実行してくれます。
  • 上記コマンドで出力されたresult.txtを開く(区切り文字は"改行")
  • 上記ファイルの行数分だけ反復処理
    • 読み取ったファイル名をメッセージボックスで表示
  • CSV/TXTファイルを閉じる。

image.png

image.png

結果

この通り、ファイルの更新日時が新しい順にリストが生成されてますので、
あとはCSV/Textを開く、ループ アクションで読み取ってあげれば、この通りに読み取ります。
実際の業務ではメッセージボックスを入れた個所に、行いたい処理が入るようなイメージです。

image.png

image.png

参考ページ

コマンドプロンプトでファイル一覧をテキスト出力!結果の便利な活用法も | サービス | プロエンジニア

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?