使用R重命名文件

6
我将尝试使用R重命名多个文件,但是我已经尝试了所有能找到的类似问题的解决方案,但都没有成功。
我创建了一个向量,其中包含我要更改的文件名,并创建了另一个向量,其中包含我要将它们更改为的名称,因此它们看起来像:
from1 <- as.character(c("test1.txt", "test2.txt", "test3.txt"))
to1 <- as.character(c("testA.txt", "testB.txt", "testC.txt")) 

其中from1对应于我的工作目录中现有文件的名称,to1对应于我想要它们拥有的名称。当我尝试使用file.rename(from1, to1)时,我得到了[1] FALSE FALSE FALSE的结果,即使我只尝试将向量的一个元素作为file.rename(from1[1], to1[1]),我也只得到了[1] FALSE的结果,并且我的文件夹中什么也没有发生。

我还尝试了这个函数,它是回答一个与我的问题非常相似的问题的答案,它似乎有效,因为当我运行测试时,我得到了以下结果:

found 1 possible files
would change test1.txt to testA.txt
changed 0

但当我实际尝试去做时,我遇到了一些问题。
found 1 possible files
changed 1

但实际上我的目录中没有任何变化。

我不确定这个问题是否足够清晰,或者是否需要更多的代码,如果需要,请告诉我,我很乐意进行编辑。


代码对我来说是有效的。你确定你在文件目录下吗?使用 getwd()setwd() - etienne
不需要使用as.character,因为" "已经定义了一个字符。 - etienne
1
可能是如何在R中使用特定模式重命名文件?的重复问题。 - Prradep
2个回答

8

假设您正在正确的工作目录中(否则请使用setwd("")设置),您可以使用以下命令更改文件名:

from1 <- c("test_file.csv", "plot1.svg")
to1 <- c("test.csv", "plot.svg")

file.rename(from1, to1)

但是请确保你在正确的目录下,并且文件存在(你可以使用 list.files 或者 file.exists 来检查)。


1
在R中重命名文件,只需使用以下命令:

file.rename("mytest.R", "mytest2.R") 

这个命令也可以进行向量化。
files.org = c("mytest1.R","mylife.R")
files.new = c("mytest01.R","mytest02.R")
file.rename(files.org, files.new) 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接