2015-11-02 4 views
0

Мне нужно открыть много файлов в цикле с тем же расширением. Примеры имен файлов: c1_p1_t_r.mat, c1_p3_t_r.mat, c1_p6_t_r.mat, c1_p7_t_r.mat, c1_p10_t_r.mat и т. Д.Прокрутка файлов с определенным расширением

Таким образом, первая и последняя часть имен файлов одинаковы, но что-то среднее.

Я попытался с:

Ext = 'c1_*t_r*.mat'; 
files = dir(Ext); 

, но он не работает. Любое предложение было бы весьма признательным.

ответ

0

Глядя на имена файлов, которые вы разделяемых вы должны использовать c1*t_r.mat, а не c1*t_r*.mat

+0

спасибо за ваше предложение. Оно работает! Но что, если, например, у меня длинное расширение после «t_», и я не хочу копировать все длинное имя файла? – dede

+0

Проверьте мое решение. – Adriaan

+0

@dede Я не могу понять, что вам нужно делать. Не могли бы вы объяснить это лучше? – alexmogavero

0

Использование files = dir('*.Ext'); Вам нужны апострофы, чтобы передать его как строку и звездочку в качестве подстановочного знака для имен файлов. Я думаю, что прохождение нескольких звездочек - вот проблема. Вы можете прибегнуть к созданию имени переменной в качестве полной строки в случае, если они являются похожи, хотя:

for ii = 1:NumberOfFiles 
    filename = sprintf('c1_p%dt_r.mat',ii); 
    %//load file with created name 
end 
Смежные вопросы