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

4 次查看(过去 30 天)
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?

回答(2 个)

Walter Roberson
Walter Roberson 2012-1-11
fileinfo = dir();
for K = 1 : length(fileinfo)
disp(fileinfo(K).name)
end
  4 个评论
Walter Roberson
Walter Roberson 2012-1-12
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 2012-1-12
Yes, thanks. I had forgotten that 'foreach' was a shell command.

请先登录,再进行评论。


Daniel Shub
Daniel Shub 2012-1-12
What about just doing it as a system call.
system('ls . > filename')

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by