Directory Watcher

Hi,
I am working on auto generation of reports and i am stuck right now. My aim is to check a network disk (let's say Z:\) once every day and if someone has put new folders (data) in that network drive then my script will analyse that new data.
The concept that i am unable to grasp right now is how to handle following 2 cases:
Z:\MainFolder\myDesiredFolder
and 2nd case
Z:\MinaFolder\SubFolder\Subfolder\Subfolder\myDesiredFolder
You are welcome with any kind of suggestions, tips or ideas.
Many thanks in advance.
\\Arsalan

 采纳的回答

You can use recursive directory listing in the following way:
dirs = folderSizeTree('D:\');;
Then you can store results across days and use setdiff to find which new folder were added.
Oleg

5 个评论

Thanks a lot for introducing me to recursive directory listing. Its works very well.
But in the next step i am having problems with setdiff.
I am doing following:
dirs1 = folderSizeTree('C:\Documents and Settings\');
here i get dirs1 struct1x1
then i add some folders at the location and again
folders1 = dirs1.name; % got 1x127 cell
dirs2 = folderSizeTree('C:\Documents and Settings\');
folders1 = dirs2.name; % got 9x129 cell
newfs = setdiff(folders1,folders2);
% got ===> Empty cell array: 0-by-1
% I have also tried to compare it after converting into char array
folders1 = char(folders1); % got long list of all folder paths and
folders2 = char(folders2); % compared 2 using different approaches
% haven't got what i am looking for. That is the new folder path.
Any hint??
Thanks in advance.
\\Arsalan
I guess folders1 = dirs2.name; should be folders2 = dirs2.name;
But the question is how do you get a 9 by 129?
I awalys get a vector cell array of strings.
Ya you are right. Sorry for my typing mistakes.
I need you help here.
I have
folders1 = dirs1.name; % got 1x127 cell
folders2 = dirs2.name; % got 1x129 cell
newfs = setdiff(folders1,folders2);
% got ===> Empty cell array: 0-by-1
So how can i look for new folders?
Thanks a lot.
Reverse the order of your arguments to setdiff:
newfs = setdiff(folders2,folders1);
Thanks Walter, now its working fine.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 File Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by