在Matlab中轮询Windows文件夹中的新文件?

时间:2014-03-21 14:01:41

标签: windows matlab polling

我需要编写一个MATLAB脚本来轮询Windows 7中的文件夹,以便在将新图像文件写入磁盘时,它会自动显示在MATLAB中。我需要帮助编写轮询部分。

基于一些谷歌搜索,现在我有:

dir_content = dir(fbdir);
filenames = {dir_content.name};
current_files = filenames;

while true;
  dir_content = dir(fbdir);
  filenames = {dir_content.name};
  new_files = setdiff(filenames,current_files);
  if ~isempty(new_files)
    DO MY THING HERE
  end;           
end   

但问题是它没有捕获所有图像,有时图像可能会显示但不能完全写入磁盘,当我尝试加载它时在Matlab中抛出错误。是否有更好的方法来轮询新文件(只有那些已完全写入磁盘的文件)?

1 个答案:

答案 0 :(得分:1)

试试这个 -

initial_count = numel(dir('*.jpg')) + numel(dir('*.png'));
while 1
    count = numel(dir('*.jpg')) + numel(dir('*.png'));
    if count>initial_count
        DO MY THING HERE %%// New image file found
        initial_count  = count;
    end
end