我正在尝试通过 Ruby 将文件从一个文件夹移动到另一个文件夹,但我一直试图让 Pathname.new 工作。作为参考,文件被保存在数组中,作为它们正常目录的中间部分。我知道我可以通过 CLI 移动它,但我希望程序为我做这件事。这就是我到目前为止所拥有的。我知道这是错的;我只是不知道如何解决它。
temp_array.each {|song| song.path(Pathname.new("/Users/tsiege/Desktop/#{playlist_name}"))}
看看FileUtils.mv:
require 'fileutils'
temp_array.each do |song|
FileUtils.mv song.path, "/Users/tsiege/Desktop/#{playlist_name}"
end
不过,请确保该目录#{playlist_name}
存在之前:
FileUtils.mkdir_p "/Users/tsiege/Desktop/#{playlist_name}"
要移动文件,您可以使用FileUtils.mv
:
require 'fileutils'
FileUtils.mv 'from.ext', 'to.ext'
http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method-c-mv
如果你想要一个目录中的文件列表,你可以使用:
Dir['/path/to/dir/*']
http://ruby-doc.org/core-1.9.3/Dir.html
最后,您可能还想检查是否有文件或目录:
File.file? file
File.directory? dir