Có một chương trình miễn phí để (thay đổi) ngày thay đổi tệp ảnh để phù hợp với EXIF ​​không?


39

Tôi muốn chỉ định một thư mục và yêu cầu phần mềm tìm tất cả các ảnh trong thư mục và các thư mục con của nó, và nếu chúng chứa ngày / giờ EXIF, nó sẽ đặt dấu thời gian của hệ thống tệp của chúng khớp với EXIF.


Tất nhiên, ngày nay, tôi sẽ hỏi câu hỏi này về các đề xuất phần mềm - mặc dù vậy, nó đã nhận được một số câu trả lời tuyệt vời
Mawg

Câu trả lời:


46

Đây là nghịch đảo của Có phần mềm nào sẽ thiết lập Ngày EXIF ​​dựa trên ngày sửa đổi của tệp không? và tôi chắc chắn rằng tất cả các chương trình được liệt kê ở đó sẽ được áp dụng.

đầu

Trong số này, đối với nhiệm vụ rất đơn giản này, jhead là gợi ý của tôi. Ví dụ: lệnh

jhead -ft *.jpg

thiết lập một loạt các tệp sao cho dấu thời gian của tệp khớp với EXIF.

jhead với find, để đi qua thư mục con

Để thực hiện đệ quy vào các thư mục con, bạn có thể kết hợp nó với findlệnh có sẵn trên Linux / Unix / Mac (hoặc Cygwin cho Windows):

find -name '*.jpg' -exec jhead -ft {} +

Hoặc để tìm bất kỳ *.JPG *.JPEG *.jpg *.jpeg ...bạn cũng có thể thử

find -iname '*.jp*g' -exec jhead -ft {} +

Bạn cũng có thể sử dụng find để chỉ hiển thị tất cả các tệp sẽ được ... tìm thấy mà không cần thực hiện bất kỳ lệnh nào khác (như jhead):

find -iname '*.jp*g'

Các công cụ khác

Các tiện ích khác như ExifTool hoặc Exiv2 có khả năng cao hơn nhiều, nhưng với mức giá phức tạp. Tôi không bao giờ có thể nhớ được các tùy chọn phù hợp để làm bất cứ điều gì với những điều đó và phải xem tài liệu mỗi lần, nhưng jhead -ftrất dễ nhớ với "thời gian sửa lỗi" thường thức.

ExifTool

Tuy nhiên, để hoàn thiện, tôi đã xem tài liệu và với ExifTool , hãy làm điều này:

exiftool -r '-DateTimeOriginal>FileModifyDate' directoryname

(Xóa -rnếu bạn không muốn đệ quy và nếu bạn làm điều đó, bạn cũng có thể đưa ra một danh sách các tệp hoặc ký tự đại diện thay vì directoryname.) Và hãy cẩn thận với các trích dẫn đó - nếu bạn đang chạy nó trên Windows, bạn muốn "thay vì '.

Exiv2

Với Exiv2 :

exiv2 -T rename *.jpg

Lưu ý rằng với chữ thường -t(hoặc không có bất kỳ -T) Exiv2 cũng sẽ đổi tên tệp thành tên mới dựa trên dấu thời gian, điều này có thể rất khó hiểu. Exiv2 cũng không làm đệ quy.


2
Bạn nói đúng, điều này ngược lại nhưng vô cùng hữu ích hơn :)
Itai

jhead rất hữu ích cho việc này - VÀ cho nhiều thao tác tệp jpg khác. Hãy cẩn thận khi sử dụng nó - nó là một công cụ cực kỳ mạnh mẽ có thể tàn phá một lượng tàn phá nhất định nếu sử dụng sai. Tôi khuyên bạn nên sử dụng nó trong một tệp bó để bạn luôn thực hiện những gì bạn dự định và kiểm tra kết quả trên một tệp kiểm tra được đặt trước.
Russell McMahon

+1 nhưng tôi đã tự thưởng cho mình câu trả lời ;-) Chỉ để những người khác trong tương lai có thể tìm ra cách làm chính xác những gì tôi đã hỏi ...
Mawg

@olibre Có, nó sẽ hoạt động trên Linux / Unix hoặc Mac.
mattdm

Tôi đã nhận thấy một số trình duyệt hình ảnh hiện tại (diaporama) hình ảnh theo thứ tự tên tệp (không phải thời gian sửa đổi tập tin). Cuối cùng tôi sử dụng dấu thời gian EXIF ​​để đặt thời gian tệp AND để đặt tiền tố tên tệp. Tôi sử dụng lệnh find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +. Giải thích: -name '[0-9][0-9]*'để ngăn chặn việc đổi tên một lần nữa các tệp đã có tiền tố ngày ( '[0-9][0-9]để tính đến năm và tháng). -iname '*.jp*g'có thể bỏ qua vì jheadchỉ xử lý các tệp được hỗ trợ (chỉ các tệp JPEG). %fđể giữ tên tệp gốc.
olibre

12

Irfanview và jhead đều sẽ làm những gì bạn muốn.
Cả hai đều miễn phí.
Liên kết đến cả hai bên dưới.
jhead là dòng lệnh điều khiển hoặc có thể được gọi bởi các quá trình khác.
Phiên bản Irfanview có thể được gọi từ một dòng lệnh hoặc nội bộ trong một lô hoặc trên một tệp theo cơ sở tệp.

Ví dụ dưới đây cho Irfanview cho thấy cách sao chép theo một trong hai hướng:


Irfanview

Cho phép thay đổi GUI hoặc dòng lệnh của lô hoặc mỗi lần chuyển ngày / giờ tệp từ EXIF ​​sang thông số tệp hoặc ngược lại (không có thay đổi tệp nào khác nếu muốn).

Nguồn: Miễn phí từ www.irfanview.com

Đây là NHIÊU dễ dàng hơn và nhanh hơn trong thực tế chỉ sau một vài công dụng hơn so với hướng dẫn dưới đây làm cho nó xuất hiện. ví dụ:
Để chuyển đổi ngày / giờ của một tệp thành các giá trị EXIF ​​cần có
Shift-J, Alt-F, Enter.
Xem tại sao lần đầu tiên mất nhiều thời gian hơn.

Để thực hiện việc này cho một loạt tệp SOUNDS phức tạp để tìm hiểu -
Nó yêu cầu: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(Hoặc: T, Ctrl-A, Shift-J, Enter) (cung cấp ít tùy chọn hơn)
NHƯNG trên thực tế nó gần như hoàn toàn trực quan sau một chút sử dụng - các menu hướng dẫn bạn ban đầu cho đến khi đường dẫn não hình thành.

GUI, mỗi tệp

  Options, JPG lossless rotation  (Shift-J)
    Select "Apply original EXIF date/time to new file"
        Consider also selecting other options

nhập mô tả hình ảnh ở đây

GUI, một hoặc nhiều tệp (thông qua chế độ xem hình thu nhỏ)

Open Thumbnails view ('File, Thumbnails' or 'T' from Window view
Select images to change EXIF data of 
    usually all in folder -> Ctrl-A
Then: File, 'JPG lossless operations'
    (1) Change EXIF date/time
      "Change EXIF date/time"
        Options are offered to set Date/time to specific setting
        or to move all times back/forwards by selected DHMS amount 
              calculator provided to check result is as desired.                 
     (2) Transfer EXIF date / time to file saved date time
          "Lossless rotation with selected files"  [Shift-J]
          then, as for single file version above
              Select "Apply original EXIF date/time to new file"

nhập mô tả hình ảnh ở đây

Từ dòng lệnh - đây là "xoay" với hành động KHÔNG ngoại trừ sao chép ngày / giờ từ EXIF ​​sang ngày và giờ của tệp. Điều ngược lại cũng có thể đạt được nếu muốn. :

  • i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)

  • Để sao chép ngày / giờ theo hướng ngược lại ((filespec sang EXIF)
    sử dụng như trên với (0,0,1,0,0,0,0,0)


đầu

sẽ làm bất cứ điều gì bạn có thể tưởng tượng với các tập tin jpeg

Nguồn: Miễn phí từ http://www.sentex.net/~mwandel/jhead/

Tôi sử dụng một tập tin hàng loạt như dưới đây. Các tùy chọn khác là có thể:

  • đầu -ft % 1 .jpg

Họ nói: Những thứ jhead có thể sửa đổi trong một tệp jpeg exif

  • Hình ảnh bên phải theo thẻ xoay bằng cách sử dụng jpegtran
    Đặt hoặc điều chỉnh dấu thời gian exif bên trong
    Sửa lỗi ngày / giờ trong các lô hình ảnh Đặt
    lại tên hoặc tệp tem ngày theo dấu thời gian
    exif Chuyển tiêu đề exif giữa các hình ảnh
    Thay thế hình thu nhỏ bên trong tiêu đề Exif
    Chỉnh sửa bình luận (nhưng không phải bình luận Exif)
    Xóa phần exif hoặc phần bình luận khỏi hình ảnh jpeg
    Tạo tiêu đề exif tối thiểu mới có chứa ngày và hình thu nhỏ

Ngày mai

Lưu ý: Tháng 8 năm 2016: "Người dùng ẩn danh" đã đề xuất chính xác rằng một chuyển đổi được đề xuất không hoạt động như tôi đã nói. Tôi đã thêm rộng rãi vào khu vực liên quan.


Tháng 8 năm 2016: "Người dùng ẩn danh" đã gợi ý chính xác rằng một chuyển đổi được đề xuất không hoạt động như tôi đã nói. Tôi đã thêm rộng rãi vào khu vực liên quan.
Russell McMahon

Còn tập tin thô thì sao?
Michael C

@MichaelClark Tôi rất vui vì bạn đã hỏi câu hỏi đó :-). Tôi lưu ý rằng tất cả chúng ta dường như đã xử lý các tệp JPG và không phải RAW. Tôi tưởng tượng rằng bạn sẽ là một trong những người có nhiều khả năng hỏi lại cách thực hiện điều này với các tệp RAW :-).
Russell McMahon

4

Chỉ cần một công cụ EXIF ​​dòng lệnh khác có thể thay đổi ngày sửa đổi cuối cùng của tệp để khớp với thời gian chụp ảnh, dựa trên metada EXIF ​​trong tệp hình ảnh JPEG:

 exiv2 -T rename somedir/foo*.jpg

Không phải lo lắng, đối số lệnh renamelà ok ở đó và không có hại.
Chỉ là hành động đổi tên tệp bị sử dụng sai mục đích chỉ tạo ra hiệu ứng phụ của việc thay đổi dấu thời gian.


2

Mặc dù tôi thực sự không khuyên bạn nên dựa vào ngày / giờ của tệp khi nói đến hình ảnh của bạn, bạn có thể sử dụng một công cụ miễn phí có tên là EXIF Date Changer để đặt hàng ngày cho tất cả các hình ảnh JPG của bạn. Cài đặt mặc định sẽ đặt cả ngày tệp được tạo và ngày sửa đổi ngày thành ảnh được chụp.

Lý do tại sao tôi không khuyến nghị đây là ngày tệp được cập nhật dễ dàng. Nếu bạn chỉnh sửa hình ảnh, ngày sửa đổi sẽ được cập nhật. Nếu bạn sao chép hình ảnh, nó sẽ có một ngày mới.

Một giải pháp tốt hơn nhiều là đổi tên các tệp để đưa ngày / giờ vào tên tệp. Điều này vẫn cho phép dễ dàng sắp xếp và hoạt động tốt với hình ảnh được lưu trữ trên iPhone / dropbox.

EXIF Date Changer - Đặt ngày tệp thành ngày


2

Kiểm tra phần mềm miễn phí mới của tôi "Photo Date Organizer": http : //photodate Organizer.sourceforge.net/

nhập mô tả hình ảnh ở đây


1
Từ trang SourceForge: "Mang lại cho bạn bởi: killdaclick". Quảng cáo sản phẩm của riêng bạn không bị cấm ở đây, nhưng bạn nên nói rõ liên kết của bạn là gì.
Philip Kendall

@PhilipKendall đã hoàn thành :)
killdaclick 16/07/2015

1

Trình xem ảnh FastStone có thể thực hiện việc này (phiên bản 4.9 được sử dụng) - chỉ cần chọn các tệp trong khung hình thu nhỏ, nhấp chuột phải vào chúng, chọn "Công cụ"> "Thay đổi dấu thời gian" - sau đó bạn có thể sử dụng dữ liệu EXIF ​​(có hoặc không sửa đổi) hoặc sử dụng dữ liệu tùy chỉnh ngày / giờ thủ công cố định.


Ồ Tôi đã làm, không biết rằng. Tôi đã sử dụng công cụ chụp màn hình của họ trong nhiều năm và không tìm thấy gì tốt hơn. Bạn có thể có phiên bản miễn phí cuối cùng ở đây ; Tôi không cần bất kỳ tính năng trả tiền nào. Tôi cũng đã sử dụng trình xem của họ trong quá khứ, nhưng không biết rằng nó có thể làm điều đó.
Mawg

1

Advance Renamer là phần mềm thân thiện với người dùng tốt nhất, rất đơn giản.

  1. Kéo và thả tất cả ảnh vào AR (Advance Renamer)

  2. Nhấp vào (Trên cùng bên trái) Thêm Phương thức -> Tên mới

  3. Nhấp vào một trong những hình dưới cùng ở giữa, bạn sẽ thấy nút ExifTool hiển thị tất cả siêu dữ liệu chỉ cần nhấp vào một thuộc tính và bạn sẽ nhận được thẻ Trong trường hợp này là<ExifTool:DateTimeOriginal>

  4. Sao chép này và dán vào hộp văn bản Tên mới Bạn có thể thêm bất cứ điều gì trước hoặc sau khi thích IMG_<ExifTool:DateTimeOriginal>, DSC_<ExifTool:DateTimeOriginal>v.v.

  5. Nhấp vào Bắt đầu lô (Trên cùng bên phải) Điều này sẽ đổi tên tất cả các tệp của bạn với ngày Eg 2017_12_01 19_10_12 Luôn luôn có ngày gốc trong tên tệp vì các thuộc tính có thể bị mất nhưng tên tệp sẽ không bị mất.

  6. Một lần nữa kéo tất cả các tệp đã đổi tên vào AR
  7. Nhấp vào Phương thức mới -> Dấu thời gian
  8. Kiểm tra tất cả 3 hộp kiểm Tạo, Sửa đổi, Truy cập (Đôi khi được truy cập có thể không hoạt động chỉ bỏ chọn nếu nó xảy ra)
  9. Chọn mẫu tên tệp và dán<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
  10. Bắt đầu hàng loạt.
  11. Bạn tốt quá Nhiệm vụ đã hoàn thành

0

Tôi đã gợi ý nó cho tác giả của PhotoRenamer, người đã trả lời ...

PhotoRenamer 3.2 http://www.tgmdev.be/appluggest/photorenamer/photorenamer.php

Tôi thêm một nút trong tab 'Tùy chọn' của Dải băng .. Từ đó, bạn có thể chọn tùy chọn cập nhật trạng thái thời gian tệp của tệp ..

Nhân tiện, để tránh sử dụng mặt nạ, tôi cũng thêm một thuộc tính mặt nạ mới:% F. Nếu bạn sử dụng mặt nạ đơn giản này, tệp sẽ được đổi tên ... với tên riêng của nó ... Vì vậy, bạn không bắt buộc phải đổi tên tệp mà bạn muốn cập nhật các thuộc tính thời gian của tệp ...


0

Đây là một câu hỏi cũ và có vẻ như có một vài gợi ý nên hoạt động tốt, nhưng câu hỏi tôi đã đưa ra để sắp xếp một vấn đề đặt hàng tệp sau khi nâng cấp điện thoại Android là đây.

  • Crank mở Windows (lần đầu tiên trong độ tuổi)
  • Cài đặt ExtFS hoặc một cái gì đó có thể đọc phân vùng ext4
  • Sao chép ảnh vào đĩa cứng từ Micro SD
  • Sử dụng Trình thay đổi thuộc tính ( https://www.petges.lu/home/ ) để đặt ngày được tạo / sửa đổi thành ngày EXIF
  • Whack thẻ trở lại trong điện thoại
  • Sao chép ảnh trở lại điện thoại qua MTP

Có lẽ điều này sẽ hữu ích cho một ai đó.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.