on process (f) «this sub-script is called once for each file dropped into the folder
«this version of the script just displays the name of the file in a dialog
Frontier.bringToFront ()
dialog.alert (file.fileFromPath (f))
local (folder = file.getspecialfolderpath ("", "Desktop Folder", true) + "Watched by Agent:")
if not file.exists (folder)
file.newfolder (folder)
local (adrtable = @scratchpad.folderwatcher)
if not defined (adrtable^)
toys.newObject (tabletype, adrtable)
adrtable^.lastmoddate = date (0)
adrtable^.filesprocessed = 0
with adrtable^
if file.modified (folder) > lastmoddate
local (f)
fileloop (f in folder)
local (origpath = f)
while file.isAlias (f)
f = file.followAlias (f)
if file.isfolder (f)
on dofolder (folder)
local (f)
fileloop (f in folder)
if file.isfolder (f)
dofolder (f)
else
process (f)
filesprocessed++
dofolder (f)
file.deleteFolder (origpath)
else
process (f)
file.delete (origpath)
filesprocessed++
lastmoddate = file.modified (folder) «deleting files changed the mod date
clock.sleepFor (5) «looks once every 5 seconds