m0_71292685 2024-07-31 10:51 采纳率: 100%
浏览 6
已结题

想做个bat文件提取照片时间到txt里

之前自己做了个简单的,但是这组命令是提取文件的创建时间,手机忘电脑上拷照片的时候,有的创建时间会变,网上没有查到提前拍摄时间的命令代码。没专门学过计算机,都是用到的时候现查,大家有什么好办法吗

img

  • 写回答

2条回答 默认 最新

  • 爱学习的大牛123 2024-07-31 11:40
    关注

    以下是一个示例脚本:

    @echo off
    setlocal enabledelayedexpansion
    
    rem 设置输出文件名
    set "output_file=photo_times.txt"
    
    rem 清空输出文件(如果存在)
    echo. > %output_file%
    
    rem 遍历当前目录下的所有jpg和jpeg文件
    for %%F in (*.jpg *.jpeg) do (
        rem 使用exiftool提取照片的拍摄时间
        for /f "delims=" %%T in ('exiftool -s -s -s -DateTimeOriginal "%%F"') do (
            set "datetime=%%T"
            
            rem 如果没有拍摄时间,则使用文件修改时间
            if "!datetime!"=="" (
                for /f "tokens=1-5 delims=/ " %%a in ("%%~tF") do (
                    set "datetime=%%c:%%d:%%e"
                )
            )
            
            rem 将文件名和时间信息写入输出文件
            echo %%F: !datetime! >> %output_file%
        )
    )
    
    echo 完成! 时间信息已保存到 %output_file%
    pause
    

    使用说明:

    1. 这个脚本需要安装ExifTool工具。ExifTool是一个用于读取、写入和编辑图像元数据的强大工具。您可以从官网下载并安装: https://exiftool.org/

    2. 将此脚本保存为.bat文件(例如extract_photo_times.bat)。

    3. 将此bat文件放在包含照片的文件夹中。

    4. 双击运行bat文件。

    5. 脚本会遍历当前文件夹中的所有.jpg和.jpeg文件,提取它们的拍摄时间(如果可用),或者使用文件修改时间作为替代。

    6. 结果将保存在名为photo_times.txt的文本文件中,格式为"文件名: 日期时间"。

    注意事项:

    • 这个脚本默认使用照片的原始拍摄时间(DateTimeOriginal)。如果照片没有这个信息,它会退而使用文件的修改时间。
    • 如果您需要提取其他类型的图片文件(如png,gif等),可以在for循环中添加相应的文件扩展名。
    • 确保您的系统路径中包含exiftool,否则脚本可能无法正常工作。

    如果您需要进一步的修改或有其他要求,请随时告诉我。我很乐意帮您调整脚本以满足您的具体需求。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 创建了问题 7月31日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图