我正在尝试编写一个简单的ruby脚本,将文件复制到目录的直接子目录中。我怎样才能只得到直接的子目录呢?
发布于 2009-04-28 23:40:46
Dir.glob("**/")
将返回当前目录下所有路径的数组。在那里,您可以过滤列表并使用File.copy(from, to)
复制文件
发布于 2018-07-07 01:33:41
在Ruby语言中处理文件的最好方法可能是Pathname
。它将几个基于文件的模块中的类方法组合成一个易于使用的OOP类。因此,您不需要像使用Dir
或File
那样将值传递到方法中,只需在对象本身上调用该方法即可。
下面是如何打印立即子目录的方法:
require 'pathname'
puts Pathname('some/directory').children.select(&:directory?)
发布于 2022-02-09 12:24:05
基于@glenra的回答,但不永久更改目录(这可能会导致pry
问题):
def folders
Dir.chdir("/some/path/you/want/to/check/below") {
Dir["*"].reject{|o| not File.directory?(o)}
}
end
puts folders # ["all", "the", "folders"]
binding.pry # yay, works
https://stackoverflow.com/questions/800189
复制相似问题