Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Re: smart way of scanning hard drive for file & folder changes

by Foggy Bottoms (Monk)
on Jul 31, 2003 at 15:25 UTC ( #279613=note: print w/replies, xml ) Need Help??


in reply to Re: smart way of scanning hard drive for file & folder changes
in thread smart way of scanning hard drive for file & folder changes

Yes I did notice that you could turn the atime off so it's reliable.
Luckily enough I managed to get my hands on the long lost Win32::AdvNotify package which you can find at http://idnopheq.perlmonk.org/perl/packages.

I then wrote up a little script (see below) that tells you when a change occurs, what type of change it is and what file/folder was affected - it's simply grand !!!
Thanks for your input and here's my code :
NB: you need Win32::API and Data::Dumper as well as the Win32::AdvNotify packages.
use strict; use Data::Dumper; use Win32::AdvNotify qw (Yes No All); my $obj = new Win32::AdvNotify() or die ("Can't create AdvNotify object"); (my $thread=$obj->StartThread(Directory=>"d:\\brossad",Filter=>All, WatchSubtree=>Yes)) or die ("Can't start thread."); $thread->EnableWatch() || die "Problem starting EnableWatch()\n"; while (!$obj->Wait(200)) # time in milliseconds { print ".";#wait and see } my @data; my $ret = $obj->Read(\@data); print Dumper(@data); # very important line - don't forget it $thread->Terminate(); $obj->Free;
  • Comment on Re: Re: smart way of scanning hard drive for file & folder changes
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://279613]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (1)
As of 2022-10-01 20:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My preferred way to holiday/vacation is:











    Results (3 votes). Check out past polls.

    Notices?