我想使用 R 将文件从一个文件夹复制/粘贴到 Windows 中的另一个文件夹,但它不起作用。我的代码:
> file.rename(from="C:/Users/msc2/Desktop/rabata.txt",to="C:/Users/msc2/Desktop/Halwa/BADMASHI/SCOP/rabata.tx")
[1] FALSE
如果您想要一个类似于
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")
请注意,
file.rename
实际上会从“from”文件夹中删除文件。如果您只想复制一份并将原件保留在原处,请使用 file.copy
。
使用
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-08更新:您还可以使用
fs::file_copy()
。我喜欢 {fs}
在 R 中实现一致的文件和目录管理。
您可以尝试
filesstrings
库。此选项会将文件移动到目录中。示例代码:
首先,我们创建一个示例目录和文件:
dir.create("My_directory")
file.create("My_file.txt")
其次,我们可以将
My_file.txt
移动到创建的目录My_directory
中:
file.move("My_file.txt", "My_directory")
您在第二个分机中缺少“t”字母。试试这个:
file.rename(from="C:/Users/msc2/Desktop/rabata.txt",to="C:/Users/msc2/Desktop/Halwa/BADMASHI/SCOP/rabata.txt").
此外,尝试一下
file.copy()
功能也是值得的。它是专门为复制文件而不是重命名而设计的。
fs::file_move("oldfile.txt", "some/other/existing/directory/newfile.txt")