「No matching file」エラーの原因と解決方法(ワイルドカードの使い方)

CSVやPDFなどのファイルをダウンロードする操作を記録した際に、「No matching file」というエラーが発生することがあります。


このエラーが起こる理由と、その解決方法について解説します。

なぜ「No matching file」エラーになるのか

ファイルをダウンロードすると、まず仮想ブラウザ上に保存されます。
その後、BOTがそのファイルを処理できるようにするためには、仮想ブラウザ上のファイルをBOTのデータとしてコピーする必要があります。


※ファイルのコピー方法については公式ドキュメントをご参照ください。

このコピー処理では、BOTは仮想ブラウザ内から指定されたファイルを探します。
たとえば「sample-basic-04.csv」といったように特定のファイル名を指定している場合、その名前と完全に一致するファイルが必要になります。

しかし、ダウンロードされるファイル名に日付や時間などが自動で付加されるケースでは、毎回ファイル名が変わるため、指定した名前と一致しなくなります。

このような場合、ファイルはダウンロードされていても、BOTがコピー対象のファイルを見つけられず、「No matching file」エラーが発生します。

解決方法

このエラーは、ファイル名にワイルドカード ( * や ? )を使用することで回避できます。


ファイル名を「*.csv」にする事で、拡張子がcsvであればどんな名前のファイルでもコピーできます。
ワイルドカードを使えば、ファイル名の一部が変わっても、該当ファイルを正しくコピーできます。

ワイルドカードとは

テキストや数値などの文字列を表す記号をワイルドカードといいます。

  • 「*」(アスタリスク):任意の0文字以上を表す
  • 「?」(クエスチョン):任意の1文字を表す

ワイルドカードの使用例

*.csv
ファイル名に関係なく、拡張子がcsvのすべてのファイルにマッチします。

sample*.csv (前方一致)
「sample」で始まるcsvファイル。
例:「sample-basic-04.csv」「sample250410.csv」

*sample.csv (後方一致)
「sample」で終わるcsvファイル。
例:「basic-sample.csv」「250410sample.csv」

*sample*.csv (部分一致)
ファイル名の間に「sample」が含まれるcsvファイル。
例:「basic-sample-04.csv」「250410sample-basic.csv」

??????.csv (文字数指定)
ファイル名が6文字のcsvファイル。
例:「sample.csv」「test-1.csv」