Asking the user to enter the extension of the files and load them in workspace

2 visualizaciones (últimos 30 días)
Here is my code and the question
%%
close all
clc
My_directory=input('Pleas enter your address of the directory containing strongmotion records: ','s');
% Here you are supposed to put your folder name in command window
cd(My_directory);
disp('You are now in the directory containing the strong motion records')
extension=input('Pleas enter the extension of the strongmotion record files: ','s');
I want to write interactive code so that the user can enter his/her own address for the directory containing the files. The above code can take anyone to the directory where the files belong. Now let's assume the directory where you went has many files (it may contain any extension files). Now I want to continue writing the code where the user can enter the extension and load similar files (the input can be m for .m files and txt for .txt files), depending on which files he/she wants to work on.

Respuesta aceptada

Veronica Taurino
Veronica Taurino el 11 de Mayo de 2022
Editada: Veronica Taurino el 11 de Mayo de 2022
What do you want to do with those files? Update them as Matlab variables? Store their paths?
However, let's say you want to import them in matlab and loop among them:
My_directory=input('Pleas enter your address of the directory containing strongmotion records: ','s');
% for example: C:\Users\Documents\TEST
cd(My_directory);
disp('You are now in the directory containing the strong motion records')
extension=input('Pleas enter the extension of the strongmotion record files: ','s');
% for example: txt
ext_code =['','*.',extension,''];
directory_all=strcat([My_directory,'\'], ext_code);
files=dir(directory_all);
% loop among files
for file=files'
% do stuff...
% ex. Load data
file_name = file.name
name_complete=strcat([My_directory,'\'],file_name);
DATA = importdata(name_complete)
end
  1 comentario
Chuchu Debebe
Chuchu Debebe el 11 de Mayo de 2022
Thank you, Madam. It helped me much. This is a good answer. Actually, the command load brings those files into the workspace to deal with them.
I looped in this way and it works.
N=length(files);
for i=1:N
filesa_ll=files(i).name;
load(filesa_ll);
end

Iniciar sesión para comentar.

Más respuestas (1)

cr
cr el 11 de Mayo de 2022
Not sure what you mean by "load similar files". To "load" or import file(s) you first need to specify the file(s). If you want user to first select one or more files of a specified extension, uigetfile() is the way to go. E.g.
uigetfile('*.txt')
if extension is dynamically specified below is how it may be done.
uigetfile(['*.' extension])

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by