There is no option in DOS to delete by date.
It's possible to do this in DOS (or at the Windows command prompt, which I suspect is what you really mean) by combining some things, but it's actually easier to do it in pure Perl.
for (<C:\\newfiles\\*.htm>) { unlink if (-M > $somenumberofdays); }
This doesn't recursively traverse the directory structure, but you can do that also using readdir and/or the -d and/or -f file test operators. With readdir, it's even possible to do this in a cross-platform way without worrying about what character is the directory separator on your platform (backslash on DOS and Windows, slash on POSIX systems, colon I think on older MacOSes, and then there's VMS...) Also, I think $somenumberofdays doesn't have to be an integer, so you could delete files more than (say) twelve hours old by setting it to 0.5, unless I am mistaken. If you need to traverse the directory tree and need more help with it, post a reply here saying so.
Like I said, it's possible to use backticks to shell out to COMMAND.COM and get this done with standard MS command-line tools, but it's the more difficult way to go. Since you already have Perl on the system, use it.
$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/
In reply to Re: Deleting files based on date
by jonadab
in thread Deleting files based on date
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |