在R语言中仅删除当前工作目录下.pdf后缀文件的实现方法
R语言删除当前工作目录所有.pdf后缀文件的实现方法
原有代码的问题
file.remove(".pdf")仅会匹配文件名为.pdf的单个文件,无法匹配所有带.pdf后缀的文件paste0("Pic,".pdf")存在引号使用错误,且未定义Pic变量,无法匹配到所有pdf文件
正确实现方法
方法1:先匹配目标文件再删除(推荐,便于提前校验)
先通过list.files函数匹配所有符合要求的pdf文件,确认匹配结果后再执行删除操作:
# 1. 匹配当前工作目录下所有以.pdf结尾的文件 pdf_to_del <- list.files(pattern = "\\.pdf$", full.names = TRUE) # (可选)先打印匹配结果,确认是要删除的文件再执行后续步骤 print(pdf_to_del) # 2. 执行删除 file.remove(pdf_to_del)
如果需要同时删除子目录内的pdf文件,给list.files添加recursive = TRUE参数即可:
pdf_to_del <- list.files(pattern = "\\.pdf$", full.names = TRUE, recursive = TRUE) file.remove(pdf_to_del)
方法2:用unlink直接删除(更简洁)
unlink支持直接传入通配符匹配文件:
# 删除当前工作目录下所有pdf文件 unlink("*.pdf") # 同时删除子目录内的pdf文件 unlink("*.pdf", recursive = TRUE)
注意:删除文件操作不可逆,执行前务必确认匹配到的文件均为不需要的文件,避免误删重要内容
内容的提问来源于stack exchange,提问作者james
相关产品推荐
相关产品推荐

