57

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

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

[1] FALSE
4

5 回答 5

66

如果你想要一个类似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")
于 2012-04-22T13:18:29.020 回答
37

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

于 2014-02-13T23:06:19.793 回答
14

使用file.copy()fs::file_copy()

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

然后您可以使用以下命令删除原始文件file.remove()

file.remove("path_to_original_file")

2021 年 10 月 8 日更新:您也可以使用fs::file_copy(). 我喜欢{fs}在 R 中进行一致的文件和目录管理。

于 2019-09-13T18:43:01.433 回答
4

你可以试试filesstrings图书馆。此选项会将文件移动到目录中。示例代码:

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

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

其次,我们可以My_file.txt进入创建的目录My_directory

file.move("My_file.txt", "My_directory")
于 2018-05-23T21:58:46.897 回答
0

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

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

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

于 2020-11-05T15:30:47.900 回答