R: 多层级文件遍历和拷贝

2022-02-25  本文已影响0人  胡童远

我这里需要提取html,json文件,文件路径的格式是Result/00_fastp//*.html_json,需要完成两次文件夹遍历,最后将html json拷贝到新建的tmp文件夹。一直太依赖Linux,在windows中用R做文件批处理还是挺费事的。

R批处理思路:
1 进去工作路径,dir.create新建存储结果的文件夹
2 list.files遍历第一层文件夹,匹配所有Result文件夹
3 list.files遍历各个Result
/00_fastp/获取文件base名
4 file.copy拷贝文件到指定路径

上代码:

# in windows
setwd("E")
dir.create("tmp")
for(fold_1 in list.files(path="./", pattern="Result*"))
{
    for(fold_2 in list.files(path=paste(fold_1, "00_fastp", sep="/")))
    {
        base=paste(fold_1, "00_fastp", fold_2, fold_2, sep="/")
        file.copy(c(paste(base, "html", sep="."),
                    paste(base, "json", sep=".")), "tmp/")
        print(paste(fold_1, fold_2, "DONE...", sep=" ")) # 打印进度
    }
}
上一篇 下一篇

猜你喜欢

热点阅读