对于进程正在使用当前目录:
File.dirname(__FILE__)
对于您已经创建了一个文件在目录:
Dir.pwd
对于目录的脚本运行:
f = File.new("blah.rb", "w")
# => #<File:blah.rb>
File.dirname f
# => "."
我希望能回答你的问题。
如果你知道目录:
dir_name = "/my/amazing/project/"
# this returns an array of file names (no dot files) - but just the names.
files = Dir.new(dir_name).entries.reject{|f| f.start_with? "." }
# this will give you an array with each entry being the full path to each file.
files = Dir.new(dir_name).entries.reject{|f| f.start_with? "." }.map{|f| File.expand_path File.join(dir_name, f) }
试试上面的代码中IRB,只需用一个目录路径替换dir_name
,甚至"."
。
但是,该文件是由ruby调用的其他程序创建的,ruby的进程无法知道该文件将在启动后创建,因此,如何告诉ruby进程某处有多个文件需要创建。 – coolesting
Ruby脚本传递给另一个进程的参数是什么?即目录路径,目录名称,文件路径,文件名称......? – iain
ruby脚本将目录名称传递给其他进程,然后将在该目录中创建许多文件。 – coolesting