如何更改文件';ruby中的s路径

如何更改文件';ruby中的s路径,ruby,path,pathname,Ruby,Path,Pathname,我试图通过Ruby将文件从一个文件夹移动到另一个文件夹,但我一直在尝试让Pathname.new正常工作。作为参考,这些文件在阵列中作为正常目录的中间文件保存。我知道我可以通过CLI移动它,但我希望程序能为我这样做。这就是我目前所拥有的。我知道这是错误的;我就是不知道怎么修 temp_array.each {|song| song.path(Pathname.new("/Users/tsiege/Desktop/#{playlist_name}"))} 要移动文件,可以使用FileUtils.

我试图通过Ruby将文件从一个文件夹移动到另一个文件夹,但我一直在尝试让Pathname.new正常工作。作为参考,这些文件在阵列中作为正常目录的中间文件保存。我知道我可以通过CLI移动它,但我希望程序能为我这样做。这就是我目前所拥有的。我知道这是错误的;我就是不知道怎么修

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

要移动文件,可以使用
FileUtils.mv

require 'fileutils'
FileUtils.mv 'from.ext', 'to.ext'

如果您想要目录中的文件列表,可以使用:

Dir['/path/to/dir/*']    

最后,您可能还需要检查是否有文件或目录:

File.file? file
File.directory? dir

要移动文件,可以使用
FileUtils.mv

require 'fileutils'
FileUtils.mv 'from.ext', 'to.ext'

如果您想要目录中的文件列表,可以使用:

Dir['/path/to/dir/*']    

最后,您可能还需要检查是否有文件或目录:

File.file? file
File.directory? dir

看看:

在执行此操作之前,请确保目录
{playlist\u name}
已存在,不过:

FileUtils.mkdir_p "/Users/tsiege/Desktop/#{playlist_name}"
看看:

在执行此操作之前,请确保目录
{playlist\u name}
已存在,不过:

FileUtils.mkdir_p "/Users/tsiege/Desktop/#{playlist_name}"

我应该把需求放在程序的最上面还是无关紧要?我确实已经设置了目录,但是谢谢你的提醒。严格来说,在使用
FileUtils
之前,你只需要require语句,但是把它放在最上面是惯例。太棒了,非常感谢你的帮助。如果允许我对你的答案投赞成票,我会。可能最好使用
FileUtils.mkdir\u p
,因为它还会创建任何中间文件,例如
a/b/c
,其中只有
a
存在,
mkdir
将失败,因为没有
b
目录可供它放入
c
,但是
mkdir\u p
只会首先创建b目录。我应该将require放在程序的顶部还是不重要?我确实已经设置了目录,但是谢谢你的提醒。严格来说,在使用
FileUtils
之前,你只需要require语句,但是把它放在最上面是惯例。太棒了,非常感谢你的帮助。如果允许我对你的答案投赞成票,我会。可能最好使用
FileUtils.mkdir\u p
,因为它还会创建任何中间文件,例如
a/b/c
,其中只有
a
存在,
mkdir
将失败,因为没有
b
目录可供它放入
c
,但是
mkdir\u p
将首先创建b目录。