用R重命名Windows文件夹中的几个文件

时间:2019-03-30 10:55:06

标签: r dplyr rename tidyverse purrr

我在Windows中有一个文件夹,其中包含1000个“。dts” 格式的文件,如 20170217.dts 。我想重命名所有文件的名称,并将年份更改为2019,例如 20190217.dts 。我的目标是正确重命名文件夹中的所有文件,以便能够在其他软件中打开它们。我尝试过:

# define file path

filepath <- "C:/my file path/"

myfile_dts_2019 <- list.files(path = filepath , pattern =".dts")

# print
myfile_dts_2019

[1] "20172303.dts" "20172403.dts"


# replace 2017 with 2019
newfiles <- stringr::str_replace(myfile_dts_2019,"2017","2019")

newfiles

[1] "20192303.dts" "20192403.dts"

# try to rename on the folder

file.rename(myfile_dts_2019, newfiles)

[1] TRUE TRUE

我的脚本似乎可以在R中运行,但是文件夹中的原始文件仍然具有以 2017 开头的名称。我想知道如何在Windows文件夹中重命名它们。

1 个答案:

答案 0 :(得分:1)

list.files的默认值为full.names = FALSE,这意味着它仅返回文件名而不返回文件路径。要重命名文件,我们需要完整的路径,添加full.names = TRUE,然后重命名。

myfile_dts_2019 <- list.files(path = filepath , pattern =".dts", full.names = TRUE)