Как получить список файлов в каталоге с Ruby? - PullRequest
0 голосов
/ 03 апреля 2011

Вот что у меня есть:

class FileRenamer
    def RenameFiles(folder_path)
        baseDirectory = folder_path

        files = Dir.glob("*")
    end
end

puts "Renaming files..."

renamer = FileRenamer.new()
files = renamer.RenameFiles("/home/papuccino1/Desktop/Test")
puts files

puts "Renaming complete."

Проблема в том, что, похоже, файлы попадают в каталог, из которого запускается мой файл .rb.

Как я могуустановить каталог, где я хочу это быть?Обратите внимание, у меня есть переменная baseDirectory.

Ответы [ 5 ]

10 голосов
/ 03 апреля 2011
files = Dir.glob(File.join(folder_path, "*"))
2 голосов
/ 03 апреля 2011
files = Dir.glob(folder_path + '/*')
0 голосов
/ 03 апреля 2011
    Find.find(@path) do |path|
      if FileTest.directory?(path)
        @dirs.push(path)
      else
        @files.push(path)
      end
    end
0 голосов
/ 03 апреля 2011

Если вам нужны файлы

class FileRenamer
    def RenameFiles(folder_path)
        files = Dir.glob( File.join(".","*")).select{|x| test(?f,x)}
    end
end
0 голосов
/ 03 апреля 2011
...
Dir.chdir(baseDirectory)
files = Dir.glob("*")
...

Кстати, использование CamelCase для переменных и методов в ruby ​​не очень хорошо (это только для модулей и классов). Для этого используйте snake_case.

...