用R包bookdown批量将md转epub
2020-10-19 本文已影响0人
董八七
想将自己写好的多个md文档,转成
epub
格式文件放到手机上看,但怎么批量操作呢?
- md后缀重命名为Rmd,方法见批量修改文件名 - 简书。
单个文件的转换方法:
bookdown::render_book('abc.Rmd', 'bookdown::epub_book')
将Rmd文件放到根目录,运行上面命令。生成的文件在_book文件夹下,_main.epub即是。当批量操作是会产生名字相同造成覆盖的问题,因此需要重命名;也不能把多个Rmd同时放到根目录,一次只能放一个。
- 批量操作,所有文件在一个专门的文件夹内
# 1.获取全部的文件名
fil_nam <- list.files("文件夹名字",full.names = T)
# 2.没有后缀的文件名,后用
re_nam <- fil_nam %>%
str_remove_all("文件夹名字/")
for (i in 1:length(fil_nam)) {
# 3.把文件移动到根目录
file.rename(fil_nam[i], re_nam[i])
# 4.转换
bookdown::render_book(re_nam[i], 'bookdown::epub_book')
# 5.重命名生成的epub文件
book_nam <- "_book/_main.epub"
book_nam_new <- book_nam %>% str_replace_all("_main", str_remove_all(re_nam[i],".Rmd"))
file.rename(book_nam, book_nam_new)
# 6.移除
file.remove(re_nam[i])
}