On Thu, Jan 10, 2013 at 10:19 AM, Robert Klemme <[email protected]> wrote: > 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
PS: You can as well ignore the Excel and read directories from the file system: Pathname.glob(base + "Document*").each do |dir| ... end Kind regards 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
