我在dir1
文件夹中有4个文件,在另一个dir2
中有4个文件
我们可以将两个文件夹中的文件列为:
dir1<- list.files("/data/myfiles1", "*.img", full.names = TRUE)
dir1
file_data_20000125.img
file_data_20000126.img
file_data_20000127.img
file_data_20000128.img
dir2<- list.files("/data/myfiles2", "*.img", full.names = TRUE)
newfile_01.img
newfile_02.img
newfile_03.img
newfile_04.img
现在我需要的是用dir2
中的文件名替换dir1
中文件的名称。例如,newfile_01.img
变为file_data_20000125.img
,
newfile_02.img
变为file_data_20000126.img
,
等等。
答案 0 :(得分:1)
我认为应该这样做可能会有更快的方式
basename
用于从完整的fie路径获取基本名称,我使用gsub
将onld文件名替换为新文件名
file.rename
用于替换文件名
我的代码:
dir1<- list.files("/data/myfiles1", "*.img", full.names = TRUE)
dir2<- list.files("/data/myfiles2", "*.img", full.names = TRUE)
for (a in 1:length(dir1)){
file.rename(from=dir2[a],to=gsub(basename(dir2[a]),basename(dir1[a]),dir2[a]))
}