List files in current directory based on a pattern in a variable.

6 ビュー (過去 30 日間)
Ziad Sari El Dine
Ziad Sari El Dine 2022 年 7 月 5 日
コメント済み: Ziad Sari El Dine 2022 年 7 月 5 日
Hello, I have a column vector weeklyDates = [20101031;20101107;etc...]. In my directory i have files containing these patterns within their file names (ex: L3m_20101024-20101031_sst.nc).
I want to loop over weeklyDates such that in each iteration i get all the files containing the pattern in weeklyDates at each row.
Is there a way to use the function dir so that it reads each pattern contained in the variable weeklyDates iteratively?
Desired result: dir('*20101031*.nc')
dir('*20101107*.nc') ...

採用された回答

dpb
dpb 2022 年 7 月 5 日
編集済み: dpb 2022 年 7 月 5 日
weeklyDates = [20101031;20101107;...];
for i=1:numel(weeklyDates)
pattern=sprintf('*%d*.nc',weeklyDates(i));
d=dir(pattern);
for j=1:numel(d)
fname=d(j).name;
% process each file here...
end
end
NB: Corrected typo in format string -- also, dir() doesn't like the cellstr() so reverted back to old sprintf()
  6 件のコメント
dpb
dpb 2022 年 7 月 5 日
Before AM coffee!!! NOT sscanf here, it's sprintf, of course.
>> pattern=sprintf('*%d*.nc',20101031)
pattern =
'*20101031*.nc'
>>
Ziad Sari El Dine
Ziad Sari El Dine 2022 年 7 月 5 日
Haha thanks for the help. Much appreciated!

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

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by