在文件夹之间移动文件

时间:2012-04-22 09:55:48

标签: r file-io file-copying

我想使用R将文件从一个文件夹复制/粘贴到Windows中的另一个文件夹,但它不起作用。我的代码:

> file.rename(from="C:/Users/msc2/Desktop/rabata.txt",to="C:/Users/msc2/Desktop/Halwa/BADMASHI/SCOP/rabata.tx")

[1] FALSE

5 个答案:

答案 0 :(得分:52)

如果您想要一个类似file.rename()的函数,也可以创建执行重命名所需的任何目录,您可以尝试这样的事情:

my.file.rename <- function(from, to) {
    todir <- dirname(to)
    if (!isTRUE(file.info(todir)$isdir)) dir.create(todir, recursive=TRUE)
    file.rename(from = from,  to = to)
}

my.file.rename(from = "C:/Users/msc2/Desktop/rabata.txt",
               to = "C:/Users/msc2/Desktop/Halwa/BADMASHI/SCOP/rabata.txt")

答案 1 :(得分:25)

请注意,file.rename实际上会从“from”文件夹中删除该文件。如果您只想制作副本并将原件保留在原位,请改用file.copy

答案 2 :(得分:1)

您可以试用filesstrings库。此选项将文件移动到目录中。示例代码:

首先,我们创建一个示例目录和文件:

dir.create("My_directory")
file.create("My_file.txt")

其次,我们可以将My_file.txt移动到创建的目录My_directory

file.move("My_file.txt", "My_directory")

答案 3 :(得分:0)

使用file.copy()

file.copy(from = "path_to_original_file",
          to   = "path_to_move_to")

然后,您可以使用file.remove()删除原始文件:

file.remove("path_to_original_file")

答案 4 :(得分:0)

第二个扩展名中缺少字母“ t”。试试这个:

file.rename(from="C:/Users/msc2/Desktop/rabata.txt",to="C:/Users/msc2/Desktop/Halwa/BADMASHI/SCOP/rabata.txt").

另外,尝试使用file.copy()函数可能是值得的。它专门用于复制文件而不是重命名。