seigniory has asked for the wisdom of the Perl Monks concerning the following question:

On Win32 , how do you determine the last MODIFIED date of a folder? I'm putting together a script that will list certain directories that have been modified within the last 'x' days.

I know that the Win32 filesystem does keep this information, but even in the Win32 modules, I can;t find any documentation.

Thanks in advance.
  • Comment on How to determine the last modified date for a directory?

Replies are listed 'Best First'.
Re: How to determine the last modified date for a directory?
by tachyon (Chancellor) on Jul 31, 2001 at 21:33 UTC

    You can do it with the -M file test operator which returns result in floating point decimal days.

    $dir = "c:/windows"; $age = -M $dir; print "Dir $dir was last modified $age days ago\n"; # make a new dir just for fun $dir = "c:/foo"; mkdir $dir; $age = -M $dir; print "Dir $dir was last modified $age days ago\n"; rmdir $dir; # delete this test dir

    With a dir the concept of modification is a little nebulous - it is actually the days since it was created.

      You have these options available for dir and age tests:

      -d True if file is a directory -M Age of file in days when script started. -A Same for access time. -C Same for inode change time.