in reply to How to determine the last modified date for a directory?

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.

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

Replies are listed 'Best First'.
Re: Re: How to determine the last modified date for a directory?
by cforde (Monk) on Jul 31, 2001 at 22:27 UTC
    Is the modification time for a directory dependent on the Windows version? WinNT SP6a, at least, updates the modification time when the directory permissions change, a file is added, updated or deleted.

    Have fun,
    Carl Forde

      You have these options:

      -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.

      I tested this on a Win 95 box cause thats what is in front of me here. As Win 95/98 has little concept of permissons it will quite probably be different to NT which is basically a totally different OS. A little quick testing will show you what is happening, like the example above. You can add some dirs/files, change the permissions, add some sleeps and compare results of -M -A -C in a few lines to get the results you want.

      cheers

      tachyon

      s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print