Can I put the filenames in a directory in a matlab vector?

In unix, this is simply: ls . > filename and then you can point to each filename with 'foreach'. Is there a complementary way to do the same thing in matlab?

Respuestas (2)

fileinfo = dir();
for K = 1 : length(fileinfo)
disp(fileinfo(K).name)
end

4 comentarios

John
John el 11 de En. de 2012
Thanks!
John
John el 12 de En. de 2012
Again, thanks, but this only displays the filenames of the directory (including hidden files). The 'foreach' command in unix allows one to act on or modify the files. The above doesn't as far as I can see.
Sorry, allow me to correct that:
fileinfo = dir();
for K = 1 : length(fileinfo)
foreach(fileinfo(K).name)
end
Where you have defined a function named "foreach" that does whatever you want done with the file. For example,
function foreach(FileName)
%take an action on the given file
disp(FileName); %action chosen was to display the file name
end
You will find, by the way, that there is no "foreach" command in Unix; you can check the Single Unix Specification at the OpenGroup.Org site.
"foreach" is, however, a command defined in some command shells, especially command shells derived from C Shell -- which is not part of the Single Unix Specification; see http://pubs.opengroup.org/onlinepubs/007904875/xrat/xcu_chap02.html
http://www.grymoire.com/Unix/Csh.html#uh-30
John
John el 12 de En. de 2012
Yes, thanks. I had forgotten that 'foreach' was a shell command.

Iniciar sesión para comentar.

What about just doing it as a system call.
system('ls . > filename')

Categorías

Más información sobre File Operations en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 11 de En. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by