You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux中删除30天前的指定*.pdf格式文件

批量删除目录下30天前的PDF文件(适配含空格文件名、保留配置文件)

核心思路

仅针对PDF文件筛选,匹配30天前的文件,利用系统工具原生处理含空格的文件名,因配置文件非PDF格式,无需额外排除即可避免误删。


Linux/Unix/macOS 解决方案(推荐)

1. 先验证待删除文件(安全前置步骤)

先列出所有符合条件的PDF文件,确认无误后再执行删除:

find /你的目标目录路径 -maxdepth 1 -type f -name "*.pdf" -mtime +30 -print

参数说明:

  • /你的目标目录路径:替换为实际目录(比如/data/pdf_archive)
  • -maxdepth 1:仅处理当前目录,不递归子目录(需递归则移除该参数)
  • -type f:仅匹配文件,排除目录
  • -name "*.pdf":精准筛选PDF文件,自动排除非PDF格式的配置文件
  • -mtime +30:匹配修改时间超过30天的文件(按访问时间用-atime,部分系统按创建时间用-ctime)

2. 执行删除

确认待删列表正确后,替换-print为-delete执行删除:

find /你的目标目录路径 -maxdepth 1 -type f -name "*.pdf" -mtime +30 -delete

注:find命令原生支持含空格的文件名,无需额外转义,会逐个处理文件对象,避免空格导致的分割错误。


Windows 解决方案(PowerShell)

1. 先验证待删除文件

Get-ChildItem -Path "C:\你的目标目录路径" -Filter *.pdf -File | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) }

2. 执行删除

添加Remove-Item -Force完成删除:

Get-ChildItem -Path "C:\你的目标目录路径" -Filter *.pdf -File | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Force

内容的提问来源于stack exchange,提问作者VikasB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:27:30