如何复制目录中的某些文件?

时间:2013-03-21 16:27:06

标签: r

可重复: 假设您在一个目录中有5个(file1,file2,file3,file4,file5)文件具有相同的扩展名。我想为每个文件制作4个副本,因此我将在该目录中有20个文件而不是5个。

过程:

      1-Read all files
      2- make 4 copies of file1 and put them in the directory as file1-1,file1-2,.... 
      3- make 4 copies of file2 and put them in the directory as file2-1,file2-2,.... 
      4- do the same for all files

阅读文件列表:

smith <- list.files("C:\\New folder (3)", "*.envi", full.names = TRUE)

是否可以在R?

中执行此操作

1 个答案:

答案 0 :(得分:3)

你可以使用这个 嵌套lapply循环 (我只是喜欢lapply!)并调整n你想要的副本数量。

f <- list.files( path = "C:\\New folder (3)" , pattern = "*.envi" , full.names = TRUE )
n <- 5
lapply( seq_len( length(f) ) , function(x) { lapply( seq_len( n ) , function( x ,y ){
    file.copy( f[x] , paste0( sub("^([^.]*).*", "\\1", f[x] ) , "-" , y , ".txt" ) )
    } , x = x )
} )

感谢this post获取正确的sub模式匹配以删除文件扩展名。