Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Comp
- def initialize ext
- @file_ext = ext
- end
- def compare n
- len = Dir::glob(self.file_ext).length
- if n+1 == len || len == 0
- return 0
- end
- src = open(Dir::glob(self.file_ext)[n])
- Dir::glob(self.file_ext)[n+1..len].each do |f|
- begin
- src2 = open(f)
- if src.stat.size == src2.stat.size
- begin
- if src.read == src2.read
- File::delete(f)
- if n == 0
- self.compare 0
- else
- self.compare n - 1
- end
- end
- rescue
- end
- end
- rescue
- end
- end
- self.compare n + 1
- end
- attr_reader :file_ext
- end
- class RecurseDir
- def initialize(path)
- @dir = Array::new #後でたどるディレクトリ
- Dir::foreach(path) do |s|
- if File::ftype(s) == "directory"
- if s != ".."
- self.dir << File::expand_path(s)
- end
- end
- end
- end
- def recurse_compare
- self.dir.each do |f|
- p f + "/*"
- a = Comp::new f + "/*"
- a.compare 0
- end
- end
- attr_reader :dir
- end
- a = RecurseDir.new "./"
- a.recurse_compare
Add Comment
Please, Sign In to add comment