List files in current directory based on a pattern in a variable.
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ziad Sari El Dine
el 5 de Jul. de 2022
Comentada: Ziad Sari El Dine
el 5 de Jul. de 2022
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') ...
0 comentarios
Respuesta aceptada
dpb
el 5 de Jul. de 2022
Editada: dpb
el 5 de Jul. de 2022
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 comentarios
dpb
el 5 de Jul. de 2022
Before AM coffee!!! NOT sscanf here, it's sprintf, of course.
>> pattern=sprintf('*%d*.nc',20101031)
pattern =
'*20101031*.nc'
>>
Más respuestas (0)
Ver también
Categorías
Más información sobre Search Path en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!