On Thu, Jan 10, 2013 at 10:01 AM, Arup Rakshit <[email protected]> wrote:
> Hi,
>
> Suppose I have an Excel sheet, which has the some numbers say:
>
> 77787
> 45877
> 78985 so on...
>
> Now I have an directory called as "D://Filehosting" in windows 7
> machine. under that directory I have some 500 folders, each of them
> having 120 files in it. Now I want to delete the contents of each folder
> which which are 2 months older from the current date. Now the folders
> are arranged something like below:
>
> D://Filehosting/Document77787
> D://Filehosting/Document45877 .. so on
>
> Script should take the numbers as mentioned above, and accordingly find
> the right directory and accordingly delete the contents.Must check if
> the if the folder exists or not before content deletion approach.
>
> what I have is only the Request number and the base directory
> Filehosting. then how would I make Document77787 so on.. on the fly?
>
> Can it be done using Ruby?
Probably. I can't help you with reading the numbers from the Excel
sheet but assuming you have those numbers in an Array or Set you could
do something like this:
require 'pathname'
require 'fileutils'
DELTA = 2 * 30 * 24 * 60 * 60
base = Pathname "D:/Filehosting"
limit = Time.now - DELTA
numbers.each do |num|
dir = base + "Document#{num}"
next unless dir.directory?
newest = dir.mtime
dir.find do |file|
newest = [newest, file.mtime].max
end
FileUtils.rm_rf dir if newest < limit
end
Cheers
robert
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
-- You received this message because you are subscribed to the Google Groups
ruby-talk-google group. To post to this group, send email to
[email protected]. To unsubscribe from this group, send email
to [email protected]. For more options, visit this
group at https://groups.google.com/d/forum/ruby-talk-google?hl=en