Function with two input arguments to do the following actions?? - Homework

2 次查看(过去 30 天)
This function will have two inputs, a path of a directory file and a file extension.
For example: 'C:\lime\green' and 'pdf'
The function will need to :
1. Find the total number of files with the given file extension
2. Find the name and size of the largest file with the given extension
3. name and size of the smallest files with the given extension in this folder
4. Return the names of all files with this extension that are in the folder.
What I have is still a work in progress:
function FolderInfo( path,fext )
D = dir(path);
% 18 1
[~, c] = size(D);
cell = struct2cell(D);
cn = 0;
for i = c
s1 = cell(1,i);
if s1(end-3) == fext
cn = cn + 1;
cs{cn}=str;
end
end
fprintf('THERE ARE A TOTAL OF %.1f FILES IN FOLDER.',length(D));
fprintf('%s WITH EXTENSION %s',path,fext);
celldisp(cs);
end
Please comment on why you do the changes you do. Thank you.

采纳的回答

Walter Roberson
Walter Roberson 2013-11-10
  3 个评论
Walter Roberson
Walter Roberson 2013-11-10
You have entries that are shorter 2 characters long or shorter. Every directory has an entry named "." and another named ".."
Nora
Nora 2013-11-10
For #2 and #3 I am having a hard time to find those names, but i can output the number of which is higher. This is what I have.
function FolderInfo( path,fext )
D = dir(path);
cell = struct2cell(D);
cell(:,1) = [];
cell(:,1) = [];
[~, c] = size(cell);
cn = 0;
for i = 1:c
s = cell{1,i};
if strcmp(s(end-2:end),fext) == 1
cn = cn + 1;
fprintf('THERE ARE A TOTAL OF %d FILE(S) IN FOLDER ',cn);
fprintf('''%s'' WITH EXTENSION ''%s''. \n',path,fext);
end
end
C = cell(3,:);
m = cell2mat(C);
M = max(m);
fprintf('THE LARGEST FILE IS WITH %d BYTES. \n',M);
C = cell(3,:);
m = cell2mat(C);
M = min(m);
fprintf('THE SMALLEST FILE IS WITH %d BYTES. \n',M);
end

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Search Path 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by