0

これが私がこれまでに持っているものです:

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 変数があることに注意してください。

4

5 に答える 5

10
files = Dir.glob(File.join(folder_path, "*"))
于 2011-04-03T13:23:26.407 に答える
2
files = Dir.glob(folder_path + '/*')
于 2011-04-03T13:27:17.257 に答える
0

ファイルだけが必要な場合

class FileRenamer
    def RenameFiles(folder_path)
        files = Dir.glob( File.join(".","*")).select{|x| test(?f,x)}
    end
end
于 2011-04-03T13:35:36.637 に答える
0
...
Dir.chdir(baseDirectory)
files = Dir.glob("*")
...

ところで、Ruby の変数とメソッドに CamelCase を使用するのは良くありません (モジュールとクラスのみです)。これには snake_case を使用します。

于 2011-04-03T13:33:21.013 に答える
0
    Find.find(@path) do |path|
      if FileTest.directory?(path)
        @dirs.push(path)
      else
        @files.push(path)
      end
    end
于 2011-04-03T13:47:13.927 に答える