How to open multiple files
35 次查看(过去 30 天)
显示 更早的评论
I think I posted this question in the wrong place earlier. I searched the Answers but didn't see anything that helped me.
I have code that opens a file, modifies the file, then saves the file with a new extension. I would like to be able to select multiple files in a directory, modify each one and then save each one with the new extension.
Here is my code to open a single file:
DefaultFile='';
[oldFileName,PathName] = uigetfile('*.txt','Select File to Modify',DefaultFile);
fid=fopen(fullfile(PathName,oldFileName));
Here is my code to save the file with a new extension:
[folder, oldBaseName, oldExt] = fileparts(oldFileName);
newBaseName = sprintf('%s.rsp',oldBaseName);
newFullFileName = fullfile(folder, newBaseName);
fileID = fopen(newFullFileName,'w');
fprintf(fileID,'%15s\r\n','# MHz Y RI R 50');
fprintf(fileID,'%6.2f %12.8f %12.8f\r\n',dataExport);
fclose(fileID);
So, how do I create a loop to be able to: 1. Select multiple files (number of files will vary each time I run this). 2. Modify my file (I have the code to do that). 3. Save the modified file with the new extension (see code above). 4. Repeat steps 2 and 3 until all files have been modified.
Thanks.
0 个评论
采纳的回答
Walter Roberson
2012-12-12
Use uigetfile() with 'MultiSelect', 'on'. Then a cell array of strings is returned for the file name. You can loop through that.
5 个评论
Walter Roberson
2012-12-12
[oldFileNames,PathName] = uigetfile('*.dat','Select the dat-files', 'MultiSelect','on');
for K = 1 : length(oldFileNames)
oldFileName = oldFileNames{K};
[....]
end
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!