From: Matt White Date: 2007-08-03T06:40:12+09:00 Subject: Re: Directory lstat mass listing On Aug 2, 3:06 pm, Jon Hawkins wrote: > Been trying to get a full list of file sizes out of a directory > structure, starting from '/' ... The code below wont work because the > method doesnt accept wildcards, and instead gives the size of the > directory block rather than the file sizes within it. > > Dir.chdir('/') > > File.size("**/**").each {|x| puts x} > > and the problem with File.size("/.") is that it list the size of the > directory > block size '4096' > > i was thinking that somehow i could run a directory surf with the > Find.find method > --- Find.find("/", "./") {|path| puts path} --- > and shove that data into an array, then run File.size on each array item > with a range... anyone have any ideas? > -Thanks > -- > Posted viahttp://www.ruby-forum.com/. Here's some code to help get you further: def crawl(current_dir) Dir.entries(current_dir).each do |entry| if File.directory?(entry) crawl(entry) else puts File.size(entry) end end end Note that this code cut-and-pasted will not work. For example, make sure you don't visit "." and ".." or you will be in an infinite loop. Ask again if you still need more assistance. Matt White