使用 R 重命名文件

Posted

技术标签:

【中文标题】使用 R 重命名文件【英文标题】:File renaming using R 【发布时间】:2016-02-14 23:44:30 【问题描述】:

我正在尝试使用 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,我的文件夹中没有任何反应

我也尝试过this 函数作为对与我非常相似的问题的答案发布,它似乎有效,因为当我运行测试时,我得到了

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

但是当我真正尝试这样做时,我得到了

found 1 possible files
changed 1

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

我不确定这个问题是否足够清楚或需要更多代码,如果是,请询问,我很乐意编辑。

【问题讨论】:

该代码对我有用。您确定您在文件目录中吗?使用getwd()setwd() 另外,不需要as.character,因为" " 已经定义了一个字符。 How to rename files with a specific pattern in R?的可能重复 【参考方案1】:

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

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

file.rename(from1, to1)

但请确保您位于正确的目录中并且文件存在(您可以使用 list.filesfile.exists 来做到这一点。

【讨论】:

【参考方案2】:

要在 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) 

【讨论】:

以上是关于使用 R 重命名文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 R 根据顺序父文件夹名称批量重命名许多文件

使用 R 根据元数据一次性重命名文件夹/目录

使用 dplyr 重命名未命名的变量

R语言 重命名目录下所有文件

python 重命名本地文件

R dplyr:: 使用字符串变量重命名和选择