Câu trả lời:
jhead có khả năng làm điều này.
Giả sử bạn biết một hình ảnh nào đó đã được chụp 2017-04-19 16:20
nhưng ngày hiện tại đang hiển thị 2007-09-01 00:15
, bạn có thể điều chỉnh tất cả các jpg
hình ảnh trong một thư mục theo đúng thời gian bằng cách thực hiện:
jhead -da2017:04:19/16:20-2007:09:01/00:15 *.jpg
Đây là một trích từ hướng dẫn:
DATE / TIME MANIPULATION:
-ft Set file modification time to Exif time
-dsft Set Exif time to file modification time
-n[format-string]
Rename files according to date. Uses exif date if present, file
date otherwise. If the optional format-string is not supplied,
the format is mmdd-hhmmss. If a format-string is given, it is
is passed to the 'strftime' function for formatting
In addition to strftime format codes:
'%f' as part of the string will include the original file name
'%i' will include a sequence number, starting from 1. You can
You can specify '%03i' for example to get leading zeros.
This feature is useful for ordering files from multiple digicams to
sequence of taking. Only renames files whose names are mostly
numerical (as assigned by digicam)
The '.jpg' is automatically added to the end of the name. If the
destination name already exists, a letter or digit is added to
the end of the name to make it unique.
-nf[format-string]
Same as -n, but rename regardless of original name
-a (Windows only) Rename files with same name but different extension
Use together with -n to rename .AVI files from exif in .THM files
for example
-ta<+|->h[:mm[:ss]]
Adjust time by h:mm backwards or forwards. Useful when having
taken pictures with the wrong time set on the camera, such as when
traveling across time zones or DST changes. Dates can be adjusted
by offsetting by 24 hours or more. For large date adjustments,
use the -da option
-da<date>-<date>
Adjust date by large amounts. This is used to fix photos from
cameras where the date got set back to the default camera date
by accident or battery removal.
To deal with different months and years having different numbers of
days, a simple date-month-year offset would result in unexpected
results. Instead, the difference is specified as desired date
minus original date. Date is specified as yyyy:mm:dd or as date
and time in the format yyyy:mm:dd/hh:mm:ss
-ts<time> Set the Exif internal time to <time>. <time> is in the format
yyyy:mm:dd-hh:mm:ss
-ds<date> Set the Exif internal date. <date> is in the format YYYY:MM:DD
or YYYY:MM or YYYY
Một tùy chọn thậm chí còn mạnh mẽ hơn là ExifTool .
Picasa có tích hợp sẵn này. Công cụ => Điều chỉnh ngày và giờ ....
exiv2 là một công cụ dòng lệnh để thao tác dữ liệu exif. Các định dạng hình ảnh được hỗ trợ là JPEG, Canon CRW và Canon THM. PNG là chỉ đọc.
Nếu bạn muốn đặt ngày của tệp thành ngày exif, bạn có thể sử dụng exiv2 với tùy chọn sau.
-t Đặt dấu thời gian của tệp theo dấu thời gian tạo Exif ngoài việc đổi tên tệp (ghi đè -k). Tùy chọn này chỉ được sử dụng với hành động 'đổi tên'.
-T
cho phép đặt dấu thời gian của tệp mà không cần đổi tên tệp :)
Dùng thử FastStone Image Viewer [ tính năng , liên kết tải xuống 1 , liên kết tải xuống 2 ]
Bạn có thể thử công cụ miễn phí này: Exifer .
Tôi sử dụng một kịch bản sau đây để cung cấp cho hình ảnh một số ngày liên tiếp. Hy vọng nó giúp. Nó hy vọng một thư mục với các hình ảnh sẽ được làm lại như là một đối số i .escript directory_with_images
#!/bin/bash
HOUR=12
MINUTE=0
DATE=2004:06:20
for file in "$1"/*;
do
exiv2 -v -M"set Exif.Image.DateTime $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
exiv2 -v -M"set Exif.Photo.DateTimeDigitized $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
exiv2 -v -M"set Exif.Photo.DateTimeOriginal $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
#sets file timestamp (i.e. filesystem metadata, not image metadata) as well
exiv2 -v -T "$file"
if [ $MINUTE = 59 ]; then
HOUR=$((HOUR + 1))
MINUTE=0
else
MINUTE=$((MINUTE + 1))
fi
# this would rename the file as well
#new_path=`pwd`/new_filename$(printf %02d $HOUR)$(printf %02d $MINUTE).jpg
#cp "$file" "$new_path"
done
Exiftool: chậm trên dòng lệnh. (Nó được viết bằng Perl, vì vậy hãy rút ra kết luận của riêng bạn ở đó.)
Exifer tạo một thẻ trống hoặc hai trong các tệp và không chỉ trong khối EXIF. Nó cũng sẽ loại bỏ một số thẻ được viết bởi các công cụ khác. Vì tôi đã không sử dụng nó trong hơn một năm, tôi không thể nói cụ thể về cái nào.
Công cụ của FastStone, imx, quá chậm để tiếp tục cài đặt trong hơn một hoặc hai ngày.
Phiếu bầu của tôi là dành cho Hr. Đề xuất của Weinzerl: Exiv2.
BZT
Picasa 3 , một công cụ quản lý ảnh miễn phí từ Google, sẽ thực hiện điều này và nó rất hay và nhanh chóng.
Trong Picasa, chọn menu Xem> Thuộc tính để hiển thị ngăn Thuộc tính.
Chọn thư mục chứa ảnh và chúng sẽ xuất hiện dưới dạng tập hợp các hình thu nhỏ.
Chọn hình thu nhỏ bạn muốn cập nhật. Để quyết định cập nhật theo đợt, bạn có thể đặt tất cả chúng vào cùng một ngày mới hoặc bạn có thể thay đổi lần đầu tiên và tất cả các phần còn lại sẽ được thay đổi theo thời gian với cùng một lượng.
Trong ngăn Thuộc tính, nhấp chuột phải vào trường Ngày Máy ảnh, sau đó chọn Điều chỉnh Ngày và Giờ ... từ menu ngữ cảnh. Hộp thoại Điều chỉnh Ngày Ảnh sẽ mở hiển thị Ngày Camera hiện tại cho ảnh đầu tiên.
Chỉnh sửa ngày và giờ camera theo yêu cầu. Nếu bạn chỉ muốn đổi từ sáng sang chiều hoặc ngược lại, chỉ cần chọn phần "sáng" của thời gian và nhập "a" hoặc "p" cho phù hợp. Không cần phải nhập toàn bộ điều "sáng" hoặc "chiều".
Có hai tùy chọn, nếu bạn đã chọn nhiều hơn một hình thu nhỏ để cập nhật: "Điều chỉnh tất cả các ngày ảnh theo cùng một lượng" hoặc "Đặt tất cả các ảnh thành cùng một ngày và giờ". Chọn cái nào phù hợp. Sau đó bấm OK.
Ngày EXIF của tất cả các ảnh đã chọn sẽ được cập nhật.
Ngoài ra, Shotwell Photo Manager trên Ubuntu (trình quản lý ảnh mặc định hiện tại trên phiên bản 13.10) có menu điều chỉnh ngày / giờ cho các ảnh được chọn. Kết hợp với bộ lọc nhập cuối cùng, bạn có thể dễ dàng điều chỉnh ảnh đã nhập từ máy ảnh với ngày và giờ sai.