{"id":20516762,"url":"https://github.com/soxft/quexif","last_synced_at":"2026-05-27T20:31:43.228Z","repository":{"id":261158275,"uuid":"883449219","full_name":"soxft/quexif","owner":"soxft","description":"Auto edit EXIF data for your photos within Qumagie","archived":false,"fork":false,"pushed_at":"2024-11-13T00:50:45.000Z","size":6753,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T23:29:05.097Z","etag":null,"topics":["exif","qemagie","qnap"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soxft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-05T01:32:49.000Z","updated_at":"2024-11-13T00:53:14.000Z","dependencies_parsed_at":"2024-11-05T02:30:58.829Z","dependency_job_id":"0f2c253c-9bf2-491e-9b62-c6ee0c525c3f","html_url":"https://github.com/soxft/quexif","commit_stats":null,"previous_names":["soxft/quexif"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/soxft/quexif","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fquexif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fquexif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fquexif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fquexif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soxft","download_url":"https://codeload.github.com/soxft/quexif/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fquexif/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33583394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exif","qemagie","qnap"],"created_at":"2024-11-15T21:30:53.500Z","updated_at":"2026-05-27T20:31:43.210Z","avatar_url":"https://github.com/soxft.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QuExif\n\n\u003e 自动为 QuMagie 备份的手机照片, 添加 Exif 信息, 以便于在相册中按照时间线查看\n\n\n## 原理\n\n在 QuMagie 备份时, 需要取消选择 原始文件名称, 这样备份的文件名会采用日期格式, 例如 `2019-01-01 12.00.00.jpg`\n\n此工具将读取时间信息, 并将其写入 Exif 的 DateTime 和 DateTimeOriginal 信息，此时 QuMagie 将会将此时间作为 照片的拍摄日期。\n\n## 使用\n\n### 直接在本地运行, 以 Windows 为例\n\n1. 通过 SMB 等方式将图片目录挂载到本地电脑 假设为 Z:\\\n2. 在 Release 目录下载对应的 二进制文件, 通常为 `quexif-windows-amd64-{{version}}.exe`\n3. 在命令行中执行\n\n```shell\n$ quexif-windows-amd64-{{version}}.exe -m qumagie -p Z:\\\n```\n\n### 在 Qnap 中运行\n\n\u003e 假设 你的备份照片路径在 `/share/Public/Photo`\n\n1. 通过 SSH 登录 Qnap\n2. 下载对应的 二进制文件, 通常为 `quexif-linux-amd64-{{version}}`\n3. 将二进制文件上传到 Qnap 的 `/share/Public` 目录\n4. 在 SSH 中执行\n\n```shell\n$ sudo -s \n    \n$ chmod +x /share/Public/quexif-linux-amd64-{{version}}\n\n$ /share/Public/quexif-linux-amd64-{{version}} -m qumagie -p /share/Public/Photo\n```\n\n## 其他支持项\n\n\u003e 您可以使用 ./quexif -h 查看所有支持的参数\n```shell\nUsage of quexif:\n  -d string\n        日期时间\n  -f    强制执行, 不会检查是否已经有日期\n  -m string\n        操作模式: qumagie (QuMagie 备份照片处理), dir (指定文件夹批量修改 EXIF时间), dir_auto (按照路径推导时间), read (读取目录或文件的 EXIF 时间信息) (default \"read\")\n  -p string\n        文件夹路径 (default \"./\")\n  -r string\n        仅 dir_auto 模式适用, 在解析时间之前, 从文件名中提取时间的正则表达式\n  -skip\n        跳过安全询问, 直接执行\n  -t string\n        日期时间模板, 默认为 '2006-01-02 15.04.05' 请参照 Golang 时间 layout 设置, 不适用于 QuMagie 模式 (default \"2006-01-02 15.04.05\")\n\n```\n\n- 批量修改某个目录及其子目录下的所有图片为指定时间\n\n```shell\n$ ./quexif -m dir -d '2024-11-23' -t '2006-01-02' -p ./pics\n\n# -m dir 表示修改目录下的所有图片\n# -d '2024-11-23' 表示修改为 2024-11-23\n# -t '2006-01-02' 表示时间格式为 2006-01-02\n# -p ./pics 表示目录为 ./pics\n```\n\n- 批量修改某个目录及其子目录下的所有图片, 按照设定的时间模板尝试推导时间\n\n```shell\n# 例如您的目录结构为\n.\n├── 2022-11-23\n│   ├── IMG_0001.JPG\n│   ├── IMG_0002.JPG\n│   ├── IMG_0003.JPG\n├── 2023-11-23\n│   ├── IMG_0004.JPG\n├── 2024-11-23\n│   ├── IMG_0005.JPG\n│   ├── IMG_0006.JPG\n\n此时您可以执行如下脚本, 脚本将自动解析文件夹名称, 并将其作为时间写入 Exif\n\n$ ./quexif -m dir_auto -t '2006-01-02' -p ./pics\n\n# -m dir_auto 表示修改目录下的所有图片, 并按照文件名推导时间\n# -t '2006-01-02' 表示时间格式为 2006-01-02\n# -p ./pics 表示目录为 ./pics\n```\n\n- 使用正则, 批量推导文件名中的时间\n\n```shell\n# 例如您的目录结构为\n.\n├── wechat_2022-11-23.jpg\n├── wechat_2023-11-23.jpg\n│── wechat_2024-11-23.jpg\n\n此时您可以执行如下脚本, 脚本将自动根据正则表达式提取时间字符串, 按照 dateTpl 进行时间解析后写入 Exif\n\n$ ./quexif -m dir_auto -r \"wechat_(.*).jpg\" -t \"2006-01-02\" -p ./pics\n\n# -m dir_auto 表示修改目录下的所有图片, 并按照文件名推导时间\n# -r 为正则表达式, 例如 \"wechat_(.*).jpg\" 表示提取 wechat_2022-11-23 10.22.23.jpg 中的 2022-11-23 10.22.23\n# -t '2006-01-02' 表示时间格式为 2006-01-02\n# -p ./pics 表示目录为 ./pics\n```\n\n## Thinks\n\n- [go-exif](//github.com/dsoprea/go-exif/v3)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoxft%2Fquexif","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoxft%2Fquexif","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoxft%2Fquexif/lists"}