【RPA開発Tips】ワイルドカードを活用しよう

ワイルドカードとは、検索処理などの際、あいまいな文字列の指定に使用する特殊文字のことです。
この特殊文字の便利なところは、「どんな文字、文字列」にもマッチするものとして扱うことができるところです。
トランプでいうジョーカーのような役割を持つため、カードゲームに由来してワイルドカードと呼ばれます。

WinActorで利用できるワイルドカード

WinActorで利用できるワイルドカードは、「*」「?」の2種類あり、それぞれ意味が違います。
*」は1文字以上の任意の文字列、「?」は任意の1文字として扱われます。具体的な例は以下の表を参照ください。

<ワイルドカードのイメージ>
入力意味該当する例該当しない例
*「い」から始まる文字列 か、くら、んさつあいす
**「い」を含む文字列 す、だがく、ねがごとりんご
*「い」で終わる文字列 やさ、かいが、きょだきのこ
*任意の文字列 あいうえお
?「い」から始まる2文字 か、し、いくら
??「い」から始まる3文字 くら、たくいか
?「い」で終わる2文字 、えやさい
?最初と最後に「い」が入る3文字 かいがい
???任意の3文字 あいうあいうえお

■ワイルドカードの利用シーン

1.フォルダ内の特定のファイルのみを削除する

例えば、下の画像のような名称・拡張子のファイルがフォルダに入っており、このなかから「memo101.txt」と、「memo102.txt」のみを削除するというシナリオを作成したい場合

ワイルドカードを使って希望のファイルのみを選択するには、どのように指定すればいいでしょうか?

答えは「memo???.txt」(「memo」から始まり、その後ろに任意の3文字が続く文字列)です。
ほかにも、「memo10?.txt」や、「memo1??.txt」「memo?0?.txt」などでも抽出可能です。
また、「memo*.txt」と考えた方は、これでは「memo1123.txt」も削除されてしまうということに気が付いたでしょうか。
ワイルドカードの使い方を誤ると関係のないファイルも削除されてしまいますので、注意が必要です。
文字数を問わない場合は「*」、文字数まで細かく指定したい場合は「?」で使い分けしましょう。

2.「ファイル検索」を使って特定の文字列を含むファイルを検索する

例えば「yyyymmdd_テスト.xlsx」のような、日付など任意の文字列に「テスト」が続く名称のファイルのパスを取得したい、かつ、そのファイルがデスクトップの「sample」というフォルダにある場合

デスクトップにある「sample」というフォルダ内の「テスト」という文字列が含まれるExcelファイルを検索すると設定します。
これを、ワイルドカードを使ってWinActorで実行するには、どのように指定すればいいでしょうか?

答えは、「WinActorのライブラリ内の『ファイル検索』というパーツを使って、ファイル名フィルタの値を「*テスト.txt」(「テスト.xlsx」で終わる文字列)と指定する」です。

このライブラリだけで、「デスクトップにある『sample』というフォルダ内にある『テスト.xlsx』で終わる名称のExcelファイルを検索する」という操作が簡単に設定できました。

3.「ファイル検索」を使って特定の文字列を含むファイルを削除する

今度は「ファイル削除」も設定してみましょう。
例として、「デスクトップにある『sample』というフォルダ内の、『memo』の後に3桁の文字が続く名称のテキストファイルを削除する」という設定について考えてみます。
これまでの2つの例も踏まえながら、WinActorのライブラリ内の「ファイル削除(ワイルドカード指定)」というパーツを使ってみましょう。
下の画像のように、削除したいファイル名をワイルドカードで指定します。

このライブラリだけで、「デスクトップにある『sample』というフォルダ内の、『memo』の後に3桁の文字が続く名称のテキストファイルを削除する」という操作が設定できました。この方法であれば最小限の設定で済むため、非常に楽です。

今回はファイルの検索および削除の操作を紹介しましたが、ワイルドカードは「ファイル移動」や「ファイルの存在有無のチェック」などでも活用することができます。
本コラムを参考に、ぜひワイルドカードを活用して、なるべくシンプルなロボット開発をめざしてみてください。
ワイルドカードを用いれば、設定は非常に簡単でシンプルになります。ファイル操作の設定が複雑でお困りの方はぜひお試しください。

このコラムが皆さんの日常業務の一助となりますように!