มีโปรแกรมฟรีเป็น (ชุด) เปลี่ยนวันที่ของไฟล์รูปภาพเพื่อให้ตรงกับ EXIF ​​หรือไม่


39

ฉันต้องการระบุไดเรกทอรีและให้ซอฟต์แวร์ค้นหารูปถ่ายทั้งหมดในไดเรกทอรีและไดเรกทอรีย่อยและหากมีวันที่ / เวลา EXIF ​​ก็จะกำหนดเวลาประทับของระบบแฟ้มให้ตรงกับ EXIF


แน่นอนว่าทุกวันนี้ฉันจะถามคำถามนี้เกี่ยวกับคำแนะนำซอฟต์แวร์ - มันได้คำตอบที่ดีบางอย่างที่นี่
Mawg

คำตอบ:


46

นี่คือสิ่งที่ตรงกันข้ามกับมีซอฟต์แวร์ใดที่จะกำหนดวันที่ EXIF ​​ตามวันที่แก้ไขไฟล์หรือไม่? และฉันมั่นใจว่าโปรแกรมทั้งหมดที่ระบุไว้จะมีผล

jhead

ของเหล่านี้สำหรับงานง่าย ๆ นี้jheadคือคำแนะนำของฉัน ตัวอย่างเช่นคำสั่ง

jhead -ft *.jpg

ตั้งค่ากลุ่มของไฟล์เพื่อให้การประทับเวลาของไฟล์ตรงกับ EXIF

jhead ด้วยfindสำหรับการผ่านไดเรกทอรีย่อย

ในการดำเนินการเรียกซ้ำไปยังไดเรกทอรีย่อยคุณสามารถรวมกับfindคำสั่งที่มีอยู่ใน Linux / Unix / Mac (หรือCygwinสำหรับ Windows):

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

หรือเพื่อค้นหาใด ๆ ของ*.JPG *.JPEG *.jpg *.jpeg ...คุณยังสามารถลอง

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

คุณยังสามารถใช้ find เพื่อแสดงไฟล์ทั้งหมดที่จะพบ ... โดยไม่ต้องดำเนินการคำสั่งอื่น ๆ (เช่น jhead):

find -iname '*.jp*g'

เครื่องมืออื่น ๆ

สาธารณูปโภคอื่น ๆ เช่น ExifTool หรือ Exiv2 นั้นมีความสามารถมากกว่า แต่ก็มีราคาที่ซับซ้อน ฉันไม่สามารถจำตัวเลือกที่ถูกต้องในทันทีเพื่อทำอะไรกับสิ่งเหล่านั้นและต้องดูเอกสารทุกครั้ง แต่jhead -ftง่ายต่อการจดจำด้วยตัวช่วยจำ "เวลาแก้ไข"

ExifTool

เพียงเพื่อความสมบูรณ์ แต่ผมไม่ได้ดูที่เอกสารและมีExifToolทำเช่นนี้:

exiftool -r '-DateTimeOriginal>FileModifyDate' directoryname

(ลบ-rถ้าคุณไม่ต้องการเรียกซ้ำและถ้าคุณทำเช่นนั้นคุณสามารถให้รายการของไฟล์หรือสัญลักษณ์แทนdirectoryname) และระวังคำพูดเหล่านั้น - ถ้าคุณใช้งานบน Windows คุณต้องการแทน"'

exiv2

ด้วยExiv2 :

exiv2 -T rename *.jpg

ระวังว่าด้วยตัวพิมพ์เล็ก-t(หรือไม่มี-T) Exiv2 จะเปลี่ยนชื่อไฟล์เป็นชื่อใหม่ตามเวลาประทับซึ่งอาจทำให้สับสนมาก Exiv2 ยังไม่ทำการสอบถามซ้ำ


2
คุณพูดถูกนี่คือสิ่งที่ตรงกันข้าม แต่มีประโยชน์มากกว่าอย่างแน่นอน :)
Itai

jhead มีประโยชน์มากสำหรับสิ่งนี้ - และสำหรับไฟล์ jpg อื่น ๆ อีกมากมาย ระวังเมื่อใช้งาน - เป็นเครื่องมือที่ทรงพลังอย่างยิ่งที่สามารถทำลายความเสียหายได้หากใช้งานไปในทางที่ผิด ฉันแนะนำให้ใช้มันในไฟล์แบตช์เพื่อให้คุณทำสิ่งที่คุณตั้งใจไว้เสมอและทดสอบผลลัพธ์ในชุดทดสอบไฟล์ก่อน
รัสเซลแม็คมาฮอน

+1 แต่ผมได้รับรางวัลตัวเองคำตอบ ;-) เพียงเพื่อให้คนอื่น ๆ ในอนาคตสามารถหาวิธีที่จะทำสิ่งที่ผมถาม ...
Mawg

@olibre ใช่ว่าจะทำงานบน Linux / Unix หรือ Mac
mattdm

ฉันสังเกตเห็นเบราว์เซอร์รูปภาพบางรูปปรากฏ (diaporama) รูปภาพตามลำดับชื่อไฟล์เท่านั้น (ไม่ใช่เวลาแก้ไขไฟล์) ในที่สุดฉันก็ใช้การประทับเวลา EXIF ​​เพื่อตั้งเวลาไฟล์และเพื่อนำหน้าชื่อไฟล์ find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +การใช้คำสั่งฉัน คำอธิบาย: -name '[0-9][0-9]*'เพื่อป้องกันการเปลี่ยนชื่อไฟล์อีกครั้งที่มีคำนำหน้าวัน ( '[0-9][0-9]เพื่อพิจารณาบัญชีปีและเดือน) -iname '*.jp*g'สามารถข้ามได้เพราะjheadประมวลผลเฉพาะไฟล์ที่รองรับ (เฉพาะไฟล์ JPEG) %fเพื่อรักษาชื่อไฟล์ดั้งเดิม
olibre

12

Irfanview และ jhead จะทำสิ่งที่คุณต้องการ
ทั้งฟรี
ลิงก์ไปยังทั้งสองด้านล่าง
jhead เป็นตัวขับเคลื่อนบรรทัดคำสั่งหรือสามารถถูกเรียกใช้โดยกระบวนการอื่น
รุ่น Irfanview สามารถเรียกใช้จากบรรทัดคำสั่งหรือภายในเป็นชุดหรือตามไฟล์

ตัวอย่างด้านล่างสำหรับ Irfanview แสดงวิธีคัดลอกในทิศทางใด:


irfanview

อนุญาตให้เปลี่ยน GUI หรือบรรทัดคำสั่งของแบทช์หรือต่อการถ่ายโอนไฟล์วันที่ / เวลาจาก EXIF ​​ไปเป็นข้อมูลจำเพาะของไฟล์หรือในทางกลับกัน (โดยไม่มีการเปลี่ยนแปลงไฟล์อื่น ๆ หากต้องการ)

ที่มา:ฟรีจากwww.irfanview.com

นี้เป็นมากง่ายและรวดเร็วในการปฏิบัติหลังจากเพียงไม่กี่ใช้กว่าคำแนะนำด้านล่างทำให้มันปรากฏ เช่น
หากต้องการแปลงวันที่ / เวลาของไฟล์เดี่ยวเป็นค่า EXIF ​​ต้องใช้
Shift-J, Alt-F, Enter
ดูว่าทำไมไม่กี่ครั้งแรกใช้เวลานาน

เมื่อต้องการทำเช่นนี้สำหรับชุดของไฟล์เสียงซับซ้อนเพื่อเรียนรู้ -
มันต้อง: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(หรือ: T, Ctrl-A, Shift-J, Enter) (ให้ตัวเลือกน้อยลง)
แต่อันที่จริงแล้วมันใช้งานง่ายเกือบทั้งหมดหลังจากใช้งานเพียงเล็กน้อย - เมนูแนะนำคุณตั้งแต่แรกจนกระทั่งรูปแบบเส้นทางของสมอง

GUI ต่อไฟล์

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

ป้อนคำอธิบายรูปภาพที่นี่

GUI ไฟล์หนึ่งหรือหลายไฟล์ (ผ่านมุมมองรูปขนาดย่อ)

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"

ป้อนคำอธิบายรูปภาพที่นี่

จากบรรทัดคำสั่ง - นี่คือ "การหมุน" ที่ไม่มีการดำเนินการยกเว้นเพื่อคัดลอกวันที่ / เวลาจาก EXIF ​​ไปยังไฟล์วันที่และเวลา ตรงกันข้ามสามารถทำได้ถ้าต้องการ :

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

  • ในการคัดลอกวันที่ / เวลาในทิศทางตรงกันข้าม ((filespec ไปยัง EXIF)
    ใช้ข้างต้นด้วย (0,0,1,0,0,0,0,0,0)


jhead

จะทำทุกอย่างที่คุณสามารถจินตนาการได้ด้วยไฟล์ jpeg

ที่มา:ฟรีจากhttp://www.sentex.net/~mwandel/jhead/

ฉันใช้ไฟล์แบตช์ดังต่อไปนี้ ตัวเลือกอื่น ๆ ที่เป็นไปได้:

  • jhead -ft % 1 .jpg

พวกเขากล่าวว่าสิ่งที่ jhead สามารถแก้ไขได้ในไฟล์ exif jpeg

  • รูปภาพด้านขวาตามแท็กการหมุนโดยใช้ jpegtran
    ตั้งค่าหรือปรับญาติ exif timestamps
    แก้ไขวันที่ / เวลาชดเชยในชุดใหญ่ของภาพ
    Re - ชื่อหรือไฟล์ประทับวันตาม exif ประทับเวลา
    โอนส่วน exif ระหว่างภาพ
    แทนที่ภาพขนาดเล็กภายในส่วน Exif
    แก้ไข jpeg ความคิดเห็น (แต่ไม่ใช่ความคิดเห็น Exif)
    ลบส่วน exif หรือความคิดเห็นออกจากรูปภาพ jpeg
    สร้างส่วนหัว exif ขั้นต่ำใหม่ที่มีวันที่และรูปขนาดย่อ

_________________________

หมายเหตุ: สิงหาคม 2559: "ผู้ใช้ที่ไม่ระบุชื่อ" แนะนำอย่างถูกต้องว่าการแปลงที่แนะนำหนึ่งรายการไม่ทำงานตามที่ฉันพูด ฉันได้เพิ่มไปยังพื้นที่ที่เกี่ยวข้องอย่างกว้างขวาง


สิงหาคม 2559: "ผู้ใช้ที่ไม่ระบุตัวตน" แนะนำอย่างถูกต้องว่าการแปลงที่แนะนำหนึ่งรายการไม่ทำงานตามที่ฉันพูด ฉันได้เพิ่มไปยังพื้นที่ที่เกี่ยวข้องอย่างกว้างขวาง
รัสเซลแม็คมาฮอน

แล้วไฟล์ดิบล่ะ?
Michael C

@MichaelClark ฉันดีใจที่คุณถามคำถามนี้ :-) ฉันทราบว่าเราทุกคนดูเหมือนจะได้รับไฟล์ JPG ไม่ใช่ RAW ฉันคิดว่าคุณจะเป็นหนึ่งในคนที่มีแนวโน้มจะถามเกี่ยวกับวิธีการทำกับไฟล์ RAW :-)
Russell McMahon

4

เครื่องมือบรรทัดคำสั่งอีกบรรทัดหนึ่งที่สามารถเปลี่ยนวันที่แก้ไขล่าสุดของไฟล์เพื่อให้ตรงกับเวลาในการถ่ายภาพโดยยึดตาม EXIF ​​เมตาดาในไฟล์ภาพ JPEG:

 exiv2 -T rename somedir/foo*.jpg

ไม่ต้องกังวลอาร์กิวเมนต์คำสั่งrenameนั้นใช้ได้และไม่เป็นอันตราย
เป็นเพียงการกระทำการเปลี่ยนชื่อไฟล์ในทางที่ผิดเพื่อสร้างผลข้างเคียงของการเปลี่ยนการประทับเวลาเท่านั้น


2

ในขณะที่ฉันไม่แนะนำให้ใช้วันที่ / เวลาของไฟล์เมื่อมาถึงรูปภาพของคุณคุณสามารถใช้เครื่องมือฟรีที่เรียกว่าEXIF Date Changerเพื่อสร้างชุดวันที่ของไฟล์ภาพ JPG ทั้งหมดของคุณ การตั้งค่าเริ่มต้นจะตั้งทั้งวันที่สร้างและวันที่แก้ไขไฟล์ไปยังภาพถ่ายที่ถ่าย

เหตุผลที่ฉันไม่แนะนำนี่คือวันที่ของไฟล์ได้รับการอัพเดตอย่างง่ายดาย หากคุณแก้ไขภาพวันที่แก้ไขจะได้รับการอัพเดต หากคุณคัดลอกภาพจะได้รับวันที่ใหม่

ทางออกที่ดีกว่าคือการเปลี่ยนชื่อไฟล์เพื่อรวมวันที่ / เวลาในชื่อไฟล์เอง วิธีนี้ยังช่วยให้การเรียงลำดับง่ายและทำงานได้ดีกับรูปภาพที่เก็บไว้ใน iPhone / dropbox

EXIF Date Changer - ตั้งวันที่ไฟล์เป็นวันที่ที่ถ่าย


2

ลองใช้ซอฟต์แวร์ฟรีตัวใหม่ของฉัน "Photo Date Organizer": http://photodateorganizer.sourceforge.net/

ป้อนคำอธิบายรูปภาพที่นี่


1
จากหน้า SourceForge: "มาถึงคุณโดย: killdaclick" การโฆษณาผลิตภัณฑ์ของคุณไม่ได้ถูกห้ามที่นี่ แต่คุณควรทำให้ชัดเจนว่าการเป็นพันธมิตรของคุณคืออะไร
Philip Kendall

@PhilipKendall ทำ :)
killdaclick

1

FastStone Image Viewerสามารถทำได้ (ใช้รุ่น 4.9) - เพียงแค่เลือกไฟล์ในบานหน้าต่างภาพขนาดย่อคลิกขวาเลือก "เครื่องมือ"> "เปลี่ยนการประทับเวลา" - จากนั้นคุณสามารถใช้ข้อมูล EXIF ​​(มีหรือไม่มีการดัดแปลง) หรือใช้ข้อมูล คู่มือที่กำหนดเองคงที่วันที่ / เวลา


ว้าว! ฉันไม่ทราบว่าฉันใช้เครื่องมือจับภาพหน้าจอมาหลายปีแล้วและไม่พบสิ่งใดดีกว่านี้ คุณได้รับเวอร์ชั่นฟรีล่าสุดที่นี่ ; ฉันไม่ต้องการฟีเจอร์จ่ายใด ๆ ฉันเคยใช้โปรแกรมดูของพวกเขาในอดีต แต่ไม่ทราบว่าสามารถทำได้
Mawg

1

Advance Renamer เป็นซอฟต์แวร์ที่เป็นมิตรกับผู้ใช้ที่ดีที่สุดซึ่งง่ายมาก

  1. ลากและวางรูปถ่ายทั้งหมดไปที่ AR (Advance Renamer)

  2. คลิกที่ (ซ้ายบน) เพิ่มวิธีการ -> ชื่อใหม่

  3. คลิกที่ภาพด้านล่างตรงกลางคุณจะเห็นปุ่มExifToolซึ่งแสดงเมตาดาต้าทั้งหมดเพียงแค่คลิกที่แอททริบิวต์และคุณจะได้รับแท็กในกรณีนี้มันคือ<ExifTool:DateTimeOriginal>

  4. คัดลอกและวางนี้ในชื่อใหม่ช่องคุณสามารถเพิ่มอะไรก่อนหรือหลังเหมือนIMG_<ExifTool:DateTimeOriginal>, DSC_<ExifTool:DateTimeOriginal>ฯลฯ

  5. คลิกเริ่มแบตช์ (ด้านบนขวา) การทำเช่นนี้จะเปลี่ยนชื่อไฟล์ทั้งหมดของคุณด้วยวันที่เช่น2017_12_01 19_10_12 มันดีเสมอที่จะมีวันที่ดั้งเดิมในชื่อไฟล์เพราะแอตทริบิวต์อาจหายไป แต่ชื่อไฟล์จะไม่หายไป

  6. ลากไฟล์ที่ถูกเปลี่ยนชื่อทั้งหมดไปยัง AR อีกครั้ง
  7. คลิกวิธีการใหม่ -> การประทับเวลา
  8. เลือกช่องทำเครื่องหมายทั้งหมด 3 สร้างแก้ไขปรับเปลี่ยนเข้าถึง (บางครั้งเข้าถึงอาจไม่ทำงานเพียงแค่ยกเลิกการเลือกถ้าเกิดขึ้น)
  9. เลือกFileName Pattern และวาง<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
  10. เริ่มแบตช์
  11. คุณเป็นคนดี ภารกิจเสร็จสมบูรณ์

0

ฉันแนะนำให้ผู้เขียน PhotoRenamer ซึ่งตอบกลับ ...

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

ฉันเพิ่มปุ่มในแท็บ 'ตัวเลือก' ของ Ribbon .. จากตรงนั้นคุณสามารถเลือกตัวเลือกสำหรับการอัพเดตสถานะเวลาของไฟล์ของไฟล์ ..

โดยวิธีการเพื่อหลีกเลี่ยงการใช้หน้ากากฉันยังเพิ่มคุณสมบัติหน้ากากใหม่:% F หากคุณใช้มาสก์แบบง่ายไฟล์จะถูกเปลี่ยนชื่อ ... ด้วยชื่อของมันเอง ... ดังนั้นคุณไม่จำเป็นต้องเปลี่ยนชื่อไฟล์ที่คุณต้องการอัปเดตแอตทริบิวต์เวลาของไฟล์ ...


0

นี่เป็นคำถามเก่าและดูเหมือนว่ามีคำแนะนำเล็กน้อยที่ควรใช้งานได้ดี แต่คำถามที่ฉันมาถึงเพื่อเรียงลำดับปัญหาการสั่งซื้อไฟล์หลังจากการอัปเกรดโทรศัพท์ Android เป็นสิ่งนี้

  • ข้อเหวี่ยงเปิด Windows (เป็นครั้งแรกในทุกเพศทุกวัย)
  • ติดตั้ง ExtFS หรือสิ่งที่สามารถอ่านพาร์ติชัน ext4
  • คัดลอกรูปภาพไปยังฮาร์ดดิสก์จาก Micro SD
  • ใช้ตัวเปลี่ยนแอตทริบิวต์ ( https://www.petges.lu/home/ ) เพื่อตั้งค่าวันที่สร้าง / แก้ไขเป็นวันที่ EXIF
  • ตีการ์ดกลับเข้าไปในโทรศัพท์
  • คัดลอกรูปภาพกลับไปที่โทรศัพท์ผ่าน MTP

บางทีนี่อาจจะเป็นประโยชน์กับใครบางคน


-2

โปรแกรมฟรีอื่น ๆ คือ Google Picasa คุณสามารถเปลี่ยนวันที่และเวลาสำหรับรูปถ่ายทั้งหมดได้อย่างง่ายดาย:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

บทความที่ดีเกี่ยวกับมัน: วิธีเปลี่ยนวันที่ของภาพถ่ายใน Picasa เป็นเมื่อถ่ายภาพแล้ว


2
โซลูชันนี้ทำงานอย่างไร OP ต้องการเปลี่ยนวันที่ของไฟล์เพื่อให้สอดคล้องกับวันที่EXIF นั่นอาจไม่ใช่สิ่งที่ Picasa กำลังทำอยู่
Olivier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.