如何在ruby中更改文件的路径

时间:2013-12-18 02:12:02

标签: ruby path pathname

我正在尝试通过Ruby将文件从一个文件夹移动到另一个文件夹,但我一直试图让Pathname.new工作。作为参考,文件作为正常目录之间的数组保存在数组中。我知道我可以通过CLI移动它,但我希望程序可以帮我完成。这就是我到目前为止所拥有的。我知道这是错的;我只是不知道如何解决它。

temp_array.each {|song| song.path(Pathname.new("/Users/tsiege/Desktop/#{playlist_name}"))}

2 个答案:

答案 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

http://ruby-doc.org/core-1.9.3/File.html#method-c-file-3F