可重复: 假设您在一个目录中有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?
中执行此操作答案 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
模式匹配以删除文件扩展名。