samer@0: function fn=uniquefile(dt,root,dir,pattern) samer@0: % uniquefile - Allocate a unique unused filename samer@0: % samer@0: % uniquefile :: samer@0: % [[1,6]] ~'date as returned by clock (currently not used)', samer@0: % path ~'implicit root directory', samer@0: % path ~'explicit directory relative to implicit root', samer@0: % string ~'filepath pattern with exactly one %s somewhere to accept id' samer@0: % -> path ~'unique path relative to implicit root'. samer@0: samer@0: % SA 2005-04-25 Seems that 10000 files per directory is not enough.. samer@0: % SA 2008-06-27 Pattern must now contain %s, not %d. samer@0: samer@0: exists=1; samer@0: numpat=sprintf(pattern,'%05d'); samer@0: while exists, samer@0: fn=fullfile(dir,sprintf(numpat,floor(100000*rand))); samer@0: exists=exist(fullfile(root,fn),'file'); samer@0: end samer@0: samer@0: