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

如何通过VSCode或通用脚本批量重命名指定日期格式的PDF文件

方案1:VSCode 实现(优先选择)
  • 把存放PDF的目标文件夹直接拖入VSCode,打开为工作区,按下`Ctrl+`` 快捷键唤起内置终端,确认终端当前路径就是PDF所在文件夹。
  • 先执行预览命令,仅输出重命名映射、不实际修改文件,核对结果:
    • 满足基础命名要求(保留月、日前导零)的PowerShell预览命令(Windows系统默认终端可用,Mac/Linux可直接使用下方Python方案):
      Get-ChildItem *.pdf | ForEach-Object { if ($_.Name -match '^(\d{2})(\d{2})(\d{4})_(\d+)\.pdf$') { $newName = "$($matches[3])_$($matches[2])_$($matches[1])-$($matches[4]).pdf"; Write-Host "$($_.Name) -> $newName" } }
      
    • 如果要开启去前导零的可选需求,替换为以下预览命令:
      Get-ChildItem *.pdf | ForEach-Object { if ($_.Name -match '^(\d{2})(\d{2})(\d{4})_(\d+)\.pdf$') { $newName = "$($matches[3])_$([int]$matches[2])_$([int]$matches[1])-$($matches[4]).pdf"; Write-Host "$($_.Name) -> $newName" } }
      
  • 核对终端输出的新旧文件名映射完全符合预期后,把命令里的Write-Host "$($_.Name) -> $newName"替换为Rename-Item $_.FullName $newName,再执行就完成批量重命名。
方案2:Python 通用脚本(全平台兼容)
  • 新建文本文件,把以下代码复制进去,保存为rename_pdf.py,放到PDF所在文件夹:
    import os
    
    # 配置项:改为True则去除月、日字段的前导零,改为False则保留前导零
    REMOVE_LEADING_ZERO = False
    
    for filename in os.listdir('.'):
        # 仅匹配符合ddmmyyyy_index.pdf规则的PDF文件
        if filename.lower().endswith('.pdf') and len(filename.split('_')[0]) == 8:
            try:
                date_part, index_suffix = filename.split('_', 1)
                day = date_part[:2]
                month = date_part[2:4]
                year = date_part[4:8]
                file_index = index_suffix.split('.')[0]
    
                if REMOVE_LEADING_ZERO:
                    day = str(int(day))
                    month = str(int(month))
                
                new_name = f"{year}_{month}_{day}-{file_index}.pdf"
                # 首次运行仅打印预览,不实际修改文件
                print(f"{filename} -> {new_name}")
                # 确认预览结果正确后,删除下一行开头的#注释,再运行脚本即可实际重命名
                # os.rename(filename, new_name)
            except:
                print(f"跳过不符合规则的文件: {filename}")
    
  • 首次运行脚本:打开终端切到脚本所在路径,执行python rename_pdf.py,查看控制台输出的重命名映射是否正确。
  • 确认结果无误后,打开脚本把os.rename那行的注释删掉,再次运行脚本就会完成批量重命名。需要去前导零的话,提前把REMOVE_LEADING_ZERO的值改成True即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:48:44