jhead:编辑exif的利刃

网上介绍Jhead的中文材料不多,而且都是只言片语。我希望能够做个比较全面的介绍。

一、安装和使用
Jhead 2.82_绿色英文版

使用时,点击开始菜单-运行命令,在对话框输入:
"jhead –命令参数 jpeg文件"

例如:
“jhead -de D:/My Pictures/A.jpg”
删除D盘My Pictures文件夹A.jpg文件的exif信息。

“jhead -de D:/My Pictures/*.jpg”
删除D盘My Pictures文件夹所有jpg文件的exif信息。其中星号是通配符。

二、通用指令参数

-te <其他jpeg文件>
将其他jpeg文件的eixf导入目标jpeg。例如"jhead –te D:/My Pictures/B.jpg D:/My Pictures/A.jpg"


-dc
删除jpeg信息中的备注。注意,jpeg文件有两个备注,一是和其他文件一样的备注,另一个是exif信息中的备注。jhead仅对exif信息有效。

-de
完全删除exif信息。

-du
删除非原始exif信息,例如Photoshop、Turbophoto之类编辑后修改exif留下的信息。

-purejpg
删除所有jpeg文件非必须的信息。相当于-de、-dc和-du的集合,可以将文件减小数k。

-ce
修改文件的jpeg文件头部分备注(此备注并非exif信息)。该指令会打开文本编辑器,并在编辑器关闭时将备注信息存入文件。

-cs <文本文件>
导出备注。例如"jhead –cs D:/1.txt D:/My Pictures/A.jpg"

-ci <文本文件>
导入备注。例如"jhead –ci D:/1.txt D:/My Pictures/A.jpg"

-cl <备注文字>
直接输入备注。。例如"jhead –cl 我的备注 D:/My Pictures/A.jpg"

三、其他指令

时间日期
-ft 将jpeg文件的“修改时间”修改为exif信息中记录的时间。

-n[<格式-顺序>] 该指令会将文件名修改为exif信息中记录的“创建时间”;如果jpeg文件没有exif或者exif中的创建时间不可用,则将文件名修改为文件的“修改时间”。
默认的格式-顺序为MMDD-HHMMSS
格式-顺序参数如下:
%d-日(01-31)
%H-小时(00-23)
%j-一年中的第几天(001-366)
%m-月(01-12)
%M-分钟(00-59)
%S-秒(00-59)
%U-一年中的第几周(00-53)
%w-星期几(0-6,周日为0)
%y-两位数纪年(00-99)
%Y-四位数几年
%i-添加数字序号
例如:
jhead -n%Y%m%d-%H%M%S d:/*.jpg
将所有jpg文件修改为YYYYMMDD-HHMMSS.jpg的格式。 
-nf 与“-n”相同功能相同,不保留原文件名。 
-a 修改不同扩展名的同名文件名,相机拍摄的avi短片exif信息存储在与其同名的thm文件中,可用此指令给avi文件更名。一般与“-n”指令共同使用。 
-ta<时差> 修正时差,例如时差根据时区确定,例如+1:00或者-1:00 
-da<日期>-<日期> 修正日期。日期格式是yyyy:mm:dd、yyyy:nn:dd+hh:mm或者 yyyy:mm:dd+hh:mm:ss。根据前后参数时间差调整exif的时间。 
-ts<日期-时间> 直接修改exif中的拍摄时间,日期-时间格式为yyyy:mm:dd-hh:mm:ss 

缩略图


-dt 删除exif中的缩略图。这个缩略图一般为240x160像素,10k大小,用于数码相机、Windows XP查看照片,删除它不会影响工作。 
-st <文件名> 将exif中的缩略图复制为另一个jpeg文件 
-rt <文件名> 用另一个jpeg文件替换exif中的缩略图 
-rgt[大小] 刷新exif缩略图,其中大小为缩略图的最大边长。 

旋转

-autorot 根据exif中记录的水平方向信息转动jpeg照片。 
-norot 清除exif中的水平方向信息。 

四、使用技巧

光了解那么多参数,并不一定会用。我将自己的经验总结如下。

1)用开始菜单的"运行"指令并不直观,可以通过运行cmd命令进入DOS命令提示符界面操作。在DOS界面进入操作照片文件夹(不懂DOS操作的朋友建议稍稍学习DOS指令,今后也会受用无穷),在文件夹中运行jhead命令,用“*.jpg”表示文件夹中所有的jpeg文件,可以进行批处理。



2)-te(复制exif信息)作用在于可以恢复被其他编辑软件删除的exif信息。编辑照片之前,先在照片文件夹中建立一个名为“backup”的备份文件夹,将原是照片复制到backup文件夹中,然后再编辑照片,编辑软件可能会删除或修改exif。编辑结束后进入DOS界面照片文件夹输入:
jhead –te “backup/&i” *.jpg
照片的exif信息就会从backup文件夹的原始文件中复制回来。其中“&i”表示与目标文件同名的文件,前面的“backup/”表示原始文件位置。


3)-purejpg指令可以删除所有exif信息,让照片减小若干k字节。这样有两个好处:一是使别人无从知道照片的拍摄时间、拍摄参数等等;二、是很多网站对上传照片大小有限制,给照片减负10-20k的贡献已经很大了!
其他软件必须对每一张照片的exif信息逐个删除,而现在只需要输入:
jhead –purejpg *.jpg
就可以了!


4)-n(修改文件名为拍摄时间)指令中,格式-顺序参数非常灵活。例如添加“%f”就会保留原文件名的同时添加日期时间。添加“%i”就会增加数字序号。每个参数之间可以加入其它符号分隔。
例如:
jhead –n%i.%f-%Y-%m-%d-%H:%M:%S *.jpg
所有文件都改名为“1.原文件名-年-月-日-时:分:秒.jpg”的格式!

jhead
5)-ta(修改时差)指令中,时差参数可以使+1:00、-0:00:30或者+49的格式,分号前第一位数字为小时。


6)-da(修正日期)指令的作用是,如果相机日期和不准确,分别填入相机当前日期和实际日期就可纠正所有照片,例如相机设置到了08年,而目前实际上是07年,则可以运行
Jhead -da2008:01:01-2007:01:01 *.jpg
还可以在日期后将上“/时间”。例如2008:05:29/11:21

Current release version: 3.00 (Feb 2 2015) Source tarball jhead-3.00.tar.gz (69 k) Pre-built Windows executable jhead.exe (166 k) Pre-built Linux executable (built on Centos) jhead (77 k) Pre-built OS-X Intel executable (version 2.97) jhead (24 k) ----------------- 简介 一个现成更改照片时间的程式--jhead,由网页中,releases表里下载110k的十分好用。 下载jhead时,记得把jhead程序存放在要更改的照片文件夹里,不然无法使用。 它的强大在于它 一、提供了其他工具所不能企及的功能 二、强大的批处理能力 唯一的问题是:jhead不是个window程式,它是个DOS程式,许多用window的人,对DOS并不熟,因此,说明jhead使用法如下: jhead这个DOS程式必需在DOS下执行,如何在windows中启动DOS? 以windowsXP为例: 开始——运行 在开启处键入cmd C:\DocumentsandSettings\user。这即是我们的电脑硬碟(简化来说。其实只是硬碟的一部份)。试着click这一行最右边,并键入dir。 dir是DOS的command,意思是--显示目录,此时就会看到一串有的字,其中有个桌面,试着键入---cd桌面。 这时出现\DocumentsandSettings\user\桌面,表示已进入桌面这个目录,cd是change directory(改变目录)的意思,试着键入---cd要更改的照片文件夹名称。 这时出现\DocumentsandSettings\user\桌面\你要更改的照片文件夹名称。表示已进入你想更改的目录。接着键入jhead参数 据说该工具最早是在linux环境下开发的,现已被移植到多个平台,包括windows。 但,目前为止并没有GUI,也就是图形外壳,所以理解并使用该工具前你必须了解一些简单的命令行知识 跟所有的命令行工具一样,它的使用方法为:jhead参数列表jpg文件列表 比如: jhead-se1jpg处理单个文件 jhead-se2009_[0-9]jpg处理指定的多个文件 jhead-se*jpg处理所有文件 另外,你甚至可以用**通配符来代替子目录,从而实现对指定目录的遍历!包括子目录的子目录。如: jhead-sec:\tmp\**\*jpg 当然有些参数也允许你联合使用。比如: jhead-se-q1jpg2jpg3jpg 我们举几个例子(jhead如何使用)(命令和参数、文件夹、文件之间必须空格): (一)jhead-da2009:01:01-2008:01:01*jpg 把当前目录下的所有拍摄日期为2008/01/01的照片更改时间为2009/01/01。这在相机日期设置有误时非常有用。(更改照片拍摄日期) (二)jhead-ds2009*jpg 把当前目录下的所有jpg文件的日期年份更改为2009年,保持日期的其他部分(月、日及时间)不变! (三)jhead-nf%Y_%m%d_i*jpg 把当前目录下的所有jpg文件的文件名更改为:年4位_月2位日2位_4位序号jpg如:2009_1201_0001jpg (四)jhead-seld_picjpg>atxt 有时候你可能需要把照片exif信息转入文体保存,你可以直接重定向输出就可以了 (五)jhead-st"bak\&i"*jpg 把当前目录下的所有文件的缩略图复制保存到bak目录下并与原文件名同名。 (六)jhead-te01jpg02jpg 单个文件导入,把01jpg的信息导入到02jpg,覆盖原来的。 jhead-te"bak\&i"*jpg 批量导入,把bak目录下的jpg文件信息按文件名一一对应的导入当前目录下的jpg文件!引号不省略!! 实例一下吧 jhead命令(参数)大全 -V(大写的V)显示jhead的版本 -h获得帮助 -autorot根据exif中记录的水平方向信息转动照片 -norot清除exif中记录的水平方向信息 -v(小写的v)详细的exif信息显示 -exifmap显示头信息,总之跟v不一样 -se简化显示 -c精简显示(比-se更简单) -dc删除jpg信息中的备注 -de完全删除exif信息 -du删除非原始exif信息,例如Photoshop之类编辑后修改exif留下的信息 -purejpg删除所有jpg文件非必须信息相当于-de-dc-du的集合,文件将减小数k -mkexif创建新的最小exif信息(覆盖原有的的exif信息),不明白这有什么用 -di删除IPTC(Photoshop格式兼容)信息 -dx删除XMP(photoshop文件信息) -te从其他jpg文件导入exif信息到当前文件 -dc删除jpg信息中的备注 -ce使用系统默认编辑编辑备注。运行时会自动打开文本编辑器,录完信息,保存并关闭后,信息会自动被写入备注 -cs导出备注到文本文件。如:jhead-cs1txt1jpg -ci从文体文件导入备注。如:jhead-ci1txt1jpg -clstring直接输入备注。如:jhead–cl我爱无常版主1jpg -dt删除exif中的缩略图此缩略图一般240x160象素,10k大小 -st[name]将exif中的缩略图复制为另一个jpg文件 -rt[name]用另一个jpg文件替换exif中的缩略图 -rgt[size]刷新exif缩略图,其中[size]为缩略图的最大边长 -ft将jpg文件的“修改时间”修改为exif信息中记录的拍摄时间 -dsft把照片exif信息时间设置为文件修改时间 -da[date1]-[date2]把拍摄日期为data2的照片日期修正为data1;date格式为yyyy:mm:dd或yyyy:mm:dd+hh:mm或yyyy:mm:dd+hh:mm:ss -ts[time]直接修改exif中的时间,格式为yyyy:mm:dd-hh:mm:ss -ds[date]直接修改exif中的日期,格式为yyyy:mm:dd或yyyy:mm或yyyy -ta[+|-]h[:mm[:ss]]修正时差,根据时区确定,例如+1:00或者-1:00 -n[format-string]将照片文件名修改为exif信息中记录的“数字化时间”,保留原文件名;如果exif数字化时间不可用,则将文件名修改为文件的“修改时间” -nf[format-string]与"-n"相同功能相同,不保留原文件名 format-string格式说明 %d日(01-31) %H小时(00-23) %j一年中的第几天(001-366) %m月(01-12) %M分钟(00-59) %S秒(00-59) %U一年中的第几周(00-53) %w星期几(0-6,周日为0) %y两位数纪年(00-99) %Y四位数纪年 %i添加数字序号,也可以指定位数。如:i(生成4位序号,不足的高位补零) %f原文件名 -q不显示程序运行信息,和其他参数一起使用。这在编写批处理脚本时非常有用 -cmdcommand调用其他程序,如:jhead-cmd"mogrify-qlity80&i"*jpg -exonly不处理没有exif信息的文件,要和其他参数一起使用 -a修改不同扩展名的同名文件名。拍摄的avi短片exif信息存储在同名thm文件中,可用此指令给avi文件更名一般与-n共同使用
一、安装和使用 Jhead 2.82_绿色英文版 使用时,点击开始菜单-运行命令,在对话框输入: "jhead –命令参数 jpeg文件" 例如: “jhead -de D:\My Pictures\A.jpg” 删除D盘My Pictures文件夹A.jpg文件的exif信息。 “jhead -de D:\My Pictures\*.jpg” 删除D盘My Pictures文件夹所有jpg文件的exif信息。其中星号是通配符。 二、通用指令参数 -te 将其他jpeg文件的eixf导入目标jpeg。例如"jhead –te D:\My Pictures\B.jpg D:\My Pictures\A.jpg" -dc 删除jpeg信息中的备注。注意,jpeg文件有两个备注,一是和其他文件一样的备注,另一个是exif信息中的备注。jhead仅对exif信息有效。 -de 完全删除exif信息。 -du 删除非原始exif信息,例如Photoshop、Turbophoto之类编辑后修改exif留下的信息。 -purejpg 删除所有jpeg文件非必须的信息。相当于-de、-dc和-du的集合,可以将文件减小数k。 -ce 修改文件的jpeg文件头部分备注(此备注并非exif信息)。该指令会打开文本编辑器,并在编辑器关闭时将备注信息存入文件。 -cs 导出备注。例如"jhead –cs D:\1.txt D:\My Pictures\A.jpg" -ci 导入备注。例如"jhead –ci D:\1.txt D:\My Pictures\A.jpg" -cl 直接输入备注。。例如"jhead –cl 我的备注 D:\My Pictures\A.jpg" 三、其他指令 时间日期 -ft 将jpeg文件的“修改时间”修改为exif信息中记录的时间。 -n[] 该指令会将文件名修改为exif信息中记录的“创建时间”;如果jpeg文件没有exif或者exif中的创建时间不可用,则将文件名修改为文件的“修改时间”。 默认的格式-顺序为MMDD-HHMMSS 格式-顺序参数如下: %d-日(01-31) %H-小时(00-23) %j-一年中的第几天(001-366) %m-月(01-12) %M-分钟(00-59) %S-秒(00-59) %U-一年中的第几周(00-53) %w-星期几(0-6,周日为0) %y-两位数纪年(00-99) %Y-四位数几年 %i-添加数字序号 例如: jhead -n%Y%m%d-%H%M%S d:\*.jpg 将所有jpg文件修改为YYYYMMDD-HHMMSS.jpg的格式。 -nf 与“-n”相同功能相同,不保留原文件名。 -a 修改不同扩展名的同名文件名,相机拍摄的avi短片exif信息存储在与其同名的thm文件中,可用此指令给avi文件更名。一般与“-n”指令共同使用。 -ta 修正时差,例如时差根据时区确定,例如+1:00或者-1:00 -da- 修正日期。日期格式是yyyy:mm:dd、yyyy:nn:dd+hh:mm或者 yyyy:mm:dd+hh:mm:ss。根据前后参数时间差调整exif的时间。 -ts 直接修改exif中的拍摄时间,日期-时间格式为yyyy:mm:dd-hh:mm:ss
部分使用说明: 点击开始菜单-运行命令,在对话框输入: "jhead –命令参数 jpeg文件" 例如: “jhead -de D:\A.jpg” 删除D盘盘根目录下A.jpg文件的exif信息。 “jhead -de D:\*.jpg” 删除D盘根目录下所有jpg文件的exif信息。其中星号是通配符。 二、通用指令参数 -te 将其他jpeg文件的eixf导入目标jpeg。例如"jhead –te D:\B.jpg D:\A.jpg" -dc 删除jpeg信息中的备注。注意,jpeg文件有两个备注,一是和其他文件一样的备注,另一个是exif信息中的备注。jhead仅对exif信息有效。 -de 完全删除exif信息。 -du 删除非原始exif信息,例如Photoshop、Turbophoto之类编辑后修改exif留下的信息。 -purejpg 删除所有jpeg文件非必须的信息。相当于-de、-dc和-du的集合,可以将文件减小数k。 -ce 修改文件的jpeg文件头部分备注(此备注并非exif信息)。该指令会打开文本编辑器,并在编辑器关闭时将备注信息存入文件。 -cs 导出备注。例如"jhead –cs D:\988.txt D:\A.jpg" -ci 导入备注。例如"jhead –ci D:\988.txt D:\A.jpg" -cl 直接输入备注。。例如"jhead –cl 我的备注 D:\A.jpg" 三、其他指令 时间日期 -ft 将jpeg文件的“修改时间”修改为exif信息中记录的时间。 -n[] 该指令会将文件名修改为exif信息中记录的“创建时间”;如果jpeg文件没有exif或者exif中的创建时间不可用,则将文件名修改为文件的“修改时间”。 默认的格式-顺序为MMDD-HHMMSS 格式-顺序参数如下: %d-日(01-31) %H-小时(00-23) %j-一年中的第几天(001-366) %m-月(01-12) %M-分钟(00-59) %S-秒(00-59) %U-一年中的第几周(00-53) %w-星期几(0-6,周日为0) %y-两位数纪年(00-99) %Y-四位数几年 %i-添加数字序号 例如: jhead -n%Y%m%d-%H%M%S d:\*.jpg 将所有jpg文件修改为YYYYMMDD-HHMMSS.jpg的格式。 -nf 与“-n”相同功能相同,不保留原文件名。 -a 修改不同扩展名的同名文件名,相机拍摄的avi短片exif信息存储在与其同名的thm文件中,可用此指令给avi文件更名。一般与“-n”指令共同使用。 -ta 修正时差,例如时差根据时区确定,例如+1:00或者-1:00 -da- 修正日期。日期格式是yyyy:mm:dd、yyyy:nn:dd+hh:mm或者 yyyy:mm:dd+hh:mm:ss。根据前后参数时间差调整exif的时间。 -ts 直接修改exif中的拍摄时间,日期-时间格式为yyyy:mm:dd-hh:mm:ss 缩略图 -dt 删除exif中的缩略图。这个缩略图一般为240x160像素,10k大小,用于数码相机、Windows XP查看照片,删除它不会影响工作。 -st 将exif中的缩略图复制为另一个jpeg文件 -rt 用另一个jpeg文件替换exif中的缩略图 -rgt[大小] 刷新exif缩略图,其中大小为缩略图的最大边长。 旋转 -autorot 根据exif中记录的水平方向信息转动jpeg照片。 -norot 清除exif中的水平方向信息。 四、使用技巧 1)用开始菜单的"运行"指令并不直观,可以通过运行cmd命令进入DOS命令提示符界面操作。在DOS界面进入操作照片文件夹(不懂DOS操作的朋友建议稍稍学习DOS指令,今后也会受用无穷),在文件夹中运行jhead命令,用“*.jpg”表示文件夹中所有的jpeg文件,可以进行批处理。 2)-te(复制exif信息)作用在于可以恢复被其他编辑软件删除的exif信息。编辑照片之前,先在照片文件夹中建立一个名为“backup”的备份文件夹,将原是照片复制到backup文件夹中,然后再编辑照片编辑软件可能会删除或修改exif编辑结束后进入DOS界面照片文件夹输入: jhead –te “backup\&i” *.jpg 照片exif信息就会从backup文件夹的原始文件中复制回来。其中“&i”表示与目标文件同名的文件,前面的“backup\”表示原始文件位置。 3)-purejpg指令可以删除所有exif信息,让照片减小若干k字节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值