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

Reply via email to