我正在尝试通过几个文件夹进行循环。在每个中我需要从循环中更改包含等于i的数字的文件名
但它不起作用。 我该如何指定文件名中的“i”是可变的?
for(i in seq(240, 555, 5))
{
folder <- "C:/R_Files/test_auto_table_generator/pregnant_3mes_130kv_i"
list.of.files <- list.files(folder, full.names=T)
file.rename("C:/R_Files/test_auto_table_generator/pregnant_3mes_130kv_%%i/test_1_DoseDistribution.raw", "130kv_%%i_DoseDistribution.raw")
}
答案 0 :(得分:0)
由于您的文件夹结构不明确,我假设您要执行以下操作:
test_1_DoseDistribution.raw
个文件夹pregnant_3mes_130kv_n
,其中n
为240,245,... 555。130kv_240_DoseDistribution.raw
,130kv_245_DoseDistribution.raw
,依此类推,具体取决于其所在的文件夹。使用好的'for
循环:
for(i in seq(240, 555, 5)){
folder.location <- paste0("C:/R_Files/test_auto_table_generator/pregnant_3mes_130kv_", i)
old.file <- paste0(folder.location, "/test_1_DoseDistribution.raw")
new.file <- paste0(folder.location, "/130kv_",i, "_DoseDistribution.raw")
file.rename(old.file, new.file)
}
使用sapply
:
sapply(seq(240, 555, 5), function(x) {
file.rename(
paste0("C:/R_Files/test_auto_table_generator/pregnant_3mes_130kv_", x, "/test_1_DoseDistribution.raw"),
paste0("C:/R_Files/test_auto_table_generator/pregnant_3mes_130kv_", x, "/130kv_", x, "_DoseDistribution.raw"))
})