用Ruby Scripting維護系統(3): 實際應用:清理舊檔案


require 'fileutils'

# 將所有檔案加上完整路徑
files = Dir.entries("./images").map {|filename|
  File.expand_path("../images/#{filename}", __FILE__)
}

i = 0

# 清理超過2週以上的舊檔案
time = Time.now - 60*60*24*14
files.each do |file|
  if File.file?(file) && File.mtime(file) < time
    FileUtils.remove(file)
    puts "Removed: #{file}"
    i += 1
  end
end

puts "#{i} files have been removed."