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

Linux系统如何按规则批量重命名缺失点号前缀的pdf类文件

批量重命名缺失点分隔符的pdf文件方案

核心处理逻辑:仅匹配文件名由纯数字开头、直接拼接pdf字段(可附带.meta后缀)的文件,在pdf字段前补.分隔符;已经是规范命名的.pdf、.pdf.meta文件不会被改动。


Windows 平台(PowerShell 操作)

  • 打开存放目标文件的文件夹,在顶部地址栏输入powershell后按回车,会直接在当前目录唤起终端。
  • 先执行预览命令,核对待修改文件和预期重命名结果,避免误操作:
Get-ChildItem -File | Where-Object { $_.Name -match '^(\d+)pdf(\.meta)?$' } | Select-Object Name, @{n='预期新文件名';e={$_.Name -replace '^(\d+)pdf(\.meta)?$','$1.pdf$2'}}
  • 确认预览结果完全符合要求后,执行正式重命名命令:
Get-ChildItem -File | Where-Object { $_.Name -match '^(\d+)pdf(\.meta)?$' } | Rename-Item -NewName { $_.Name -replace '^(\d+)pdf(\.meta)?$','$1.pdf$2' }

正则规则说明:^(\d+)pdf(\.meta)?$只会精准匹配「纯数字段+直接接pdf+可选.meta后缀」格式的文件名,已经存在.pdf分隔符的合规文件不会被匹配到,不会出现重复加.的问题。


macOS / Linux 平台(Bash 操作)

  • 打开终端,执行cd 目标文件所在目录路径进入待处理文件的存放文件夹。
  • 先执行预览命令,打印所有待修改文件的新旧文件名对照:
for f in *pdf*; do
  if [[ $f =~ ^([0-9]+)pdf(\.meta)?$ ]]; then
    echo "$f -> ${BASH_REMATCH[1]}.pdf${BASH_REMATCH[2]}"
  fi
done
  • 核对输出的对照列表无误后,执行正式重命名命令:
for f in *pdf*; do
  if [[ $f =~ ^([0-9]+)pdf(\.meta)?$ ]]; then
    mv -- "$f" "${BASH_REMATCH[1]}.pdf${BASH_REMATCH[2]}"
  fi
done

结果校验

执行命令后,对应给出的文件列表,改动结果如下:

  • 3423436pdf → 3423436.pdf
  • 45435435pdf → 45435435.pdf
  • 3434311pdf.meta → 3434311.pdf.meta
  • 12121234pdf.meta → 12121234.pdf.meta
  • 其余原本命名合规的.pdf、.pdf.meta文件保持原样,不会被修改。

操作提示:执行重命名前可以先把整个文件夹的文件备份一次,避免命令输入错误导致文件名混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:06:34