Exiftool 是命令行操作exif最强大的工具。

官方网址。

参考:图片EXIF信息查看与Exiftool使用
参考:如何批量将图片文件名中的时间写入 EXIF 信息? 知乎

安装:

# Mac上安装
$ brew install exiftool# 或Linux上安装
$ sudo apt-get install exiftool# 查看图片全部exif信息
$ exiftool 图片位置# 查看图片某个tag信息
$ exiftool -tag

语法

每种格式的图片都有自己不同的一堆Tags,比如时间、日期、地理位置等,jpg和png都很不一样。
所以到官网参考每种图片的不同tags,才能确定自己要怎么改这个信息。

ExifTool Tag Names

注意,引用tag时,要用小写。

基本语法是一样的:

  • 设置某tag的值:-tag=VALUE
  • 增减某tag值(如果是数字的话):-tag+=VALUE-tag-=VALUE
  • 清空: -tag=
$ exiftool -artist=solomon

但是有一点一定要注意:每种tag所接受的值的格式是很严格的:

  • 日期
  • 时长

常用操作

$ exiftool photo.jpg #查看所有信息
$ exiftool -a -u -g1 photo.jpg #查看所有元信息,包括重复和未知标签,并按小组排列
$ exiftool -s -ImageSize -ExposureTime photo.jpg #查看图片尺寸
$ exiftool -common dir  #查看dir目录文件信息(不仅仅是图片)
$ exiftool -l  c.jpg d.jpg  #从两个图像文件打印所有信息。
$ exiftool -l -canon c.jpg d.jpg  #从两个图像文件打印标准的佳能信息。

更改创建和修改时间:

$ exiftool -gps:all="" photo.jpg  #有些相机会记录拍照时的GPS定位信息。如果你不希望别人看到使用该命令删除gps信息
$ exiftool -all="" photo.jpg  #删除所有信息
$ exiftool -all="" --exif:all photo.jpg  #删除EXIF以外的所有信息

写入标签:

$ exiftool -artist=标签名称 photo.jpg            #写入艺术家标签
$ exiftool -artist=标签名称 a.jpg b.jpg c.jpg   #写多个文件
$ exiftool -artist=标签名称  /exiftoolTest      #写在一个目录的所有文件 exiftoolTest为文件夹

转移标签「<」(将某一个标签值赋予另一个标签):

# 将文件名(带日期的)设置到图片日期中(程序会自动识别日期格式)
$ exiftool "-DateTimeOriginal<filename" "2009-09-30 15-28-16.jpg"# 将文件名设置为文件大小(带格式)
$ exiftool "-filename<%f_$imagesize.%e" IMG_0894.JPG

其它:

$ exiftool -Comment='这是一个新的评论'dst.jpg向JPG图片写入新评论(取代任何现有评论)。
$ exiftool -comment='' -o newdir -ext jpg删除当前目录中所有JPG图像的评论,将修改后的图像写入新目录。
$ exiftool -keywords=EXIF -keywords=编辑器 dst.jpg用两个新的关键字(“EXIF”和。)替换现有的关键字列表“编辑”)。
$ exiftool -Keywords+=单词 -o newfile.jpg src.jpg将源图像复制到新文件,然后添加关键字(“单词”)当前关键字列表。
$ exiftool -credit=xxx dir从一个目录中的所有文件中删除信用信息,信用值是“xxx”。
$ exiftool -all='' dst.jpg从图像中删除所有元信息。注意:你不应该对RAW图像(DNG除外)进行处理,因为它是专有的RAW图像格式通常包含制造注释中的信息转换图像所必需的。
$ exiftool -all='' -comment ='寂寞' dst.jpg删除图像中的所有元信息并添加评论(注意顺序很重要:“-comment ='lonely'-all =”也会删除新评论。)
$ exiftool -all = --jfif:全部dst.jpg从图像中删除除JFIF组以外的所有元信息。
$ exiftool -Photoshop:全部= dst.jpg从图像中删除Photoshop元信息(注意Photoshop信息还包括IPTC)。
$ exiftool -r -XMP-crss:all = DIR递归删除a中的图像中的所有XMP-crss信息目录。
$ exiftool'-ThumbnailImage <= thumb.jpg'dst.jpg从指定的文件中设置缩略图(注意:引号是以防止外壳重定向)。
$ exiftool'-JpgFromRaw <=%d%f_JFR.JPG'-ext NEF -r。递归地写入以“_JFR.JPG”结尾的文件名的JPEG图像添加到扩展名为“.NEF”的类似文件的JpgFromRaw标记中当前目录。 (这是“-JpgFromRaw”的倒数上面的“READING EXAMPLES”部分的命令)。
$ exiftool -DateTimeOriginal - ='0:0:0 1:30:0'dir调整目录“dir”中所有图像的原始日期/时间减去1小时30分钟。 (这相当于“-DateTimeOriginal- = 1.5”。请参阅Image :: ExifTool :: Shift.pl细节。)
$ exiftool -createdate + = 3 -modifydate + = 3 a.jpg b.jpg向两个CreateDate和ModifyDate时间戳添加3个小时图片。
$ exiftool -AllDates + = 1:30 -if'$ make eq“Canon”'dir移动DateTimeOriginal,CreateDate和ModifyDate的值将所有佳能影像转换1小时30分钟目录。 (AllDates标签作为这些的快捷方式提供三个标签,允许他们通过一个标签访问。)
$ exiftool -xmp:city = Kingston image1.jpg image2.nef将标签写入两个图像的XMP组。 (没有“xmp:”自从“City”存在以后,该标签将被写入IPTC组在这两种情况下,IPTC默认是首选。)
$ exiftool -LightSource - ='未知(0)'dst.tiff只有在值为0时才删除“LightSource”标签。
$ exiftool -whitebalance- = auto -WhiteBalance = tung dst.jpg只有之前为“自动”时,才将“WhiteBalance”设置为“Tungsten”。
$ exiftool -comment- = -comment ='新评论'a.jpg只有当图片还没有时才写新评论。
$ exiftool -o%d%f.xmp目录为“dir”中的所有图像创建XMP元信息数据文件。
$ exiftool -o test.xmp -owner = Phil -title ='XMP File'仅从命令中定义的标签创建XMP数据文件线。

常用标签名(Tags)

因为编辑exif信息需要知道图片里内置的各种标签名才能修改,所以下面为标签名参考。

JPEG

  • Comment: 描述,无字数限制。

PNG

  • Comment: 描述,无字数限制。
  • Description:描述,无字数限制。

Exiftool 命令行操作图片元信息(Megadata)相关推荐

  1. 利用命令行实现图片转换等操作--ImageMagick

    为什么使用ImageMagick 经常会遇到图片的格式转换.裁剪等批量操作,当然有许多软件可以使用,考虑到功能不太全面,且需要多个软件 作为一个程序员使用命令行进行操作应该会更方便点,而且不需要下载其 ...

  2. DOS命令行操作MySQL常用命令

    平时用可视化界面用惯了,如果紧急排查问题,没有安装可视化工具的话,只能通过命令来看了. 以备不时之需,我们要熟悉一下命令行操作MySQL. 打开DOS命令窗口:WIN + R 输入cmd,回车 然后输 ...

  3. gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...

    常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...

  4. kafka _命令行操作

    kafka _命令行操作 #启动zk zkServer.start #启动kafka kafka-server-start.sh -daemon /opt/kafka/config/server.pr ...

  5. Zookeeper的简介及命令行操作

    目录 前言 1.Zookeeper简介 2.Zookeeper结构 3.Zookeeper常用的命令行操作 总结: 目录 前言 作为一款第三方的协调服务框架,ZK被应用在许多地方,如:Hbase中用于 ...

  6. mysql命令行cmd_CMD命令行操作MySQL

    连接MySQL服务器: mysql -u用户名 -p密码 mysql -u用户名 -p Enter Password:输入密码(无密码则直接回车) mysql -h主机名 -u用户名 -p密码 -D数 ...

  7. git修改服务器的命令行,Git版本控制工具安装及命令行操作

    很多小伙伴不知道如何来安装Git版本控制工具,对于命令操作比较陌生.本文做了一个详细的文档,希望对大家有所帮助. 1.git 是什么一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制 ...

  8. linux下zookeeper启动命令,For Linux Zookeeper客户端命令行操作指令

    目录 客户端命令行操作 1.启动客户端 2.停止客户端 3.显示所有操作命令 4.查看当前节点信息 ls ~ 详细信息  ls2 5.分别创建两个普通节点 6.获取节点的值 7.创建短暂节点 ~ cr ...

  9. Git 简介和命令行操作

    Git 简介 官网地址:https://git-scm.com/ 3Git 的优势  大部分操作在本地完成,不需要联网  完整性保证  尽可能添加数据而不是删除或修改数据  分支操作非常快捷流 ...

最新文章

  1. python学费多少-python培训学费一般多少?
  2. golang中的strings.Replace
  3. Eclipse搭建Mybatis框架
  4. B2B 企业如何高效获客增长?
  5. 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途
  6. 计算机二级考试题停车收费,计算机二级考试真题-Excel-停车场调整收费标准
  7. cocos2d-x学习笔记之图片分辨率适配
  8. keyvaluepair_KeyValuePair用法(转)
  9. 海德堡大学 BMCV 组(Master/Diploma/Bachelor)研究机会,生物医学图像分析方向
  10. 填错银行卡号导致放款失败?小心中招钓鱼网贷
  11. git rebase简介(基本篇)
  12. Webpack + vue + es6 安装
  13. CCF NOI1058 统计单词
  14. 代码之美~利用构造方法实现模块的解耦
  15. Android播放c4d工程文件方法,安卓播放网络视频怎么实现?
  16. 系统集成项目管理工程师 案例题【2021上】 总结
  17. 用slub track调试use after free问题
  18. 趣味Python — 不到20行代码制作一个 “手绘风” 视频
  19. ftl不存在为真_ftl 语法
  20. 最优化理论——线搜索技术·黄金分割法

热门文章

  1. java操作hfds——黄磊
  2. hibernate之HQL实体更新与删除
  3. cpp+数据结构+设计模式
  4. Unity实战篇:实现虚拟摇杆控制人物(Easy Touch 5.X插件)
  5. 贴片电阻封装经验选择学习研究总结
  6. 人生各个年龄段的称谓
  7. 深度揭秘腾讯云新一代企业级HTAP数据库TBase核心概念
  8. 对学生任务博客的评分练习
  9. 中国招聘网站调研报告
  10. WAP(wml)开发教程10--WAP网站服务器配置