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

求助:如何用BAT文件按创建日期整理iPhone照片并合并至相册

解决iPhone照片按时间整理并重命名的思路

一、核心提醒:优先用照片EXIF拍摄时间,别依赖系统创建时间

复制到Windows后的iPhone照片,系统创建时间大概率是你复制文件的时间,不是真实拍摄时间,用EXIF里的拍摄时间重命名,才能保证和你自己的照片按真实拍摄顺序准确合并。

二、最省心的方案:用PowerShell批量重命名(推荐)

PowerShell能直接读取文件的EXIF属性或系统属性,操作比BAT简单可靠:

  1. 打开PowerShell,导航到你的照片文件夹:

    cd "D:\你的照片文件夹路径"
    
  2. 执行重命名命令(按拍摄时间前缀命名,保留原文件名):

    Get-ChildItem -Filter "IMG *.jpg" -Recurse | ForEach-Object {
        $exif = [System.Drawing.Image]::FromFile($_.FullName).GetPropertyItem(36867)
        $shootTime = [DateTime]::ParseExact([System.Text.Encoding]::ASCII.GetString($exif.Value).Trim(), "yyyy:MM:dd HH:mm:ss", $null)
        $newName = $shootTime.ToString("yyyyMMdd_HHmmss") + "_" + $_.Name
        Rename-Item -Path $_.FullName -NewName $newName
    }
    

    要是你的照片是HEIC格式,把"IMG *.jpg"改成"IMG *.HEIC"即可。

    若不想依赖EXIF,想用系统创建时间,可简化命令:

    Get-ChildItem -Filter "IMG *.jpg" -Recurse | Rename-Item -NewName { $_.CreationTime.ToString("yyyyMMdd_HHmmss") + "_" + $_.Name }
    

三、修正你原来的BAT命令问题

你之前的dir命令用了/b参数,这个参数会只输出文件名,不显示日期时间,导致生成的filelisting.txt没有时间信息,自然没法按时间排序重命名。修正后的命令:

dir /a /s /T:C /o:d > filelisting.txt
  • /T:C:按文件创建时间排序
  • /o:d:按日期升序排列(加/o:-d为降序)
  • 去掉/b:显示完整的日期、时间、文件名信息

但BAT处理字符串和日期非常繁琐,比如要提取日期列、处理含空格的文件名,远不如PowerShell省心,不推荐用BAT完成后续重命名操作。

四、可视化操作方案:用第三方图片工具(适合不想敲命令的情况)

FastStone Image Viewer、IrfanView这类免费工具都自带批量重命名功能:

  • 打开工具,批量选中所有IMG开头的照片
  • 找到「批量重命名」功能,选择按「EXIF拍摄日期」作为文件名前缀,设置格式如yyyyMMdd_HHmmss,再保留原文件名
  • 预览确认后执行重命名,操作直观不易出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:45:48