From: Mark Wilson Date: 2003-10-02T12:41:41+09:00 Subject: Re: Getting a list of the files in a directory On Wednesday, October 1, 2003, at 11:24 PM, Revision17 wrote: > Hi, I'm just starting out with ruby and I'm writing a script to rename > a bunch of files in a directory to a way I want them to be (just to > get more familiar). I've looked at the documentation for the file > class (http://www.rubycentral.com/book/ref_c_file.html), but I can't > seem to find the method I'd use to get all the names of files in a > directory. How can I do this? > > Sorry about the ultra simplitic question. The good thing about these questions is that they are somewhat easier to answer. There are several ways to do what you want, but they are all basically the same: dir_contents = Dir.entries(Dir.pwd) The above works if your shell is in the directory of interest to you. You can substitute a string literal for Dir.pwd dir_contents = Dir.entries("/absolute/path/to/directory") This includes any directories (and the '.' and '..' directories) You can use the File.file? class method to check the entries: require 'ftools' files = Array.new Dir.new(Dir.pwd).entries.each { |n| files.push(n) if File.file?(n) } Regards, Mark