我需要编写一个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中抛出错误。是否有更好的方法来轮询新文件(只有那些已完全写入磁盘的文件)?
答案 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