How do I read a file name into a function?
57 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lucy
el 4 de Ag. de 2014
Respondida: Andrii Mazur
el 16 de Jun. de 2018
I have a folder full of .stl files containing sets of (x,y,z) co-ordinates of points in 3d. I have found a function, stlread, which reads these files, all I have to do is call the path of the file in ' ' quotation marks.
How do I choose this file from a directory and put it into stlread? If I use the MATLAB function filename=uigetfile, I can choose the file but if I use stlread(filename) it doesn't work even though filename is a string.
Eventually I wish to possibly have a list of paths to .stl files in a .txt file and then extract each one in turn to run stlread on all of them. Is this possible somehow?
1 comentario
Sara
el 4 de Ag. de 2014
Look into dir(directory_name). This will give you the list of all the files in a specific directory. You can then run your code on all the stl files with a loop.
Respuesta aceptada
Dasharath Gulvady
el 4 de Ag. de 2014
Editada: Dasharath Gulvady
el 4 de Ag. de 2014
In order to read all the files with file names matching a specific pattern, you can use "fullfile" function. The below sample code will read all the file names that end with ".stl" in a given directory :
filePattern = fullfile('./', '*.m');
files = dir(filePattern);
Note that './' refers to the current directory and it can be changed to any other directory.
Note that "uigetfile" will let you select a file without navigating to the folder in which the file is present.
Now you can loop through "files" to get the filenames using the "name" field of the structure "files". A demo code is as follows:
for i=1:length(files)
filename = files(i);
filename.name
%stlread(filename); %you can try this out by uncommenting
end
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre File Operations 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!