It does not sound like a good design to use the folder names as field names. Keeping the names in a cell string might be smarter:
data(k).value = rand(10);
data(k).condition = {'folders', 'release', 'mode', 'const', 'var'};
Deeply nested structs are rarely useful for processing. But if you have a good reason to do so:
BasePath = 'C:\Temp\';
FileList = dir(fullfile(BasePath, '**\config.m'));
data = struct([]);
for iFile = 1:numel(FileList)
Folder = FileList(iFile).path(numel(BasePath)+1:end);
Keys = strsplit(Folder, filesep);
data.(Keys{1}).(Keys{2}).(Keys{3}).(Keys{4}).(Keys{5}) = ???
end
Best Answer