Finding files WITHOUT a specfic prefix (or suffix, extension, etc.) using dir

22 ビュー (過去 30 日間)
D. Plotnick
D. Plotnick 2018 年 7 月 3 日
コメント済み: Bram ter Huurne 2024 年 9 月 6 日
Hello all, I have a question partly inspired by the question here, which asks how to find a file with a known prefix. Now, what if I want to suppress a specific prefix, but not use more complicated strfind (although I could use startsWith) operation using the 'dir' command. The obvious example is avoiding all files starting with a period: '.example.txt'.
Is there a simple way to suppress certain prefixes using 'dir'? How about suppressing suffixes or extensions (rather than exhaustively looking for the extensions you do want)?

採用された回答

Guillaume
Guillaume 2018 年 7 月 3 日
No, the filtering capabilities offered by dir are fairly limited. If you want to exclude some pattern, you'll have to get the whole list then use string search functions such as startsWith you've mentioned or regexp. It's only one more line of code so shouldn't be any issue.
e.g. to remove all files starting with .
filelist = dir;
filelist = filelist(~startsWith({filelist.name}, '.''));
  1 件のコメント
Bram ter Huurne
Bram ter Huurne 2024 年 9 月 6 日
"so should'nt be any issue" is usually not related to the code but more on performance. I would like to exclude a folder that contains 100k+ files, which is now made exceedingly difficult, except to change the directory structure.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFile Operations についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by