To extending this to monitor the whole subtree, change the 0 in the new() call to 1, though you'll need some extra work to find out what changed where.

I'm not aware of a similar mechanism under *nix.

Examine what is said, not who speaks.

"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.

line is misleading. The script doesn't check for changes every ten seconds. It waits for a change for 10 seconds, prints the "Nothing changed" message and goes back waiting. Any changes in the directories are noted immediately.

JendaAlways code as if the guy who ends up maintaining your code
will be a violent psychopath who knows where you live.
-- Rick Osborne

"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.

You can use AdvNotify. It's a pretty powerful package that'll watch any folder and/or subfolder for changes. I've been using it lately and it's very convenient... Unfortunately, it doesn't run under Win98...

Of course, if someone copies a file there and is still dropping it while your loop runs in the cycle you may see issues with truncating data. You should also build in tests to see if the file is done being written to. I assume you are moving the file to proccess it not just to move it.