我正在尝试通过Ruby将文件从一个文件夹移动到另一个文件夹,但我一直试图让Pathname.new工作。作为参考,文件作为正常目录之间的数组保存在数组中。我知道我可以通过CLI移动它,但我希望程序可以帮我完成。这就是我到目前为止所拥有的。我知道这是错的;我只是不知道如何解决它。
temp_array.each {|song| song.path(Pathname.new("/Users/tsiege/Desktop/#{playlist_name}"))}
答案 0 :(得分:4)
查看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}"
答案 1 :(得分:1)
要移动文件,您可以使用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