หากฉันเปลี่ยนชื่อภาพผ่าน exiv เป็นเวลาวันที่ exif ฉันจะทำสิ่งต่อไปนี้:
find . -iname \*jpg -exec exiv2 -v -t -r '%Y_%m_%d__%H_%M_%S' rename {} \;
ขณะนี้อาจเกิดขึ้นได้ว่ารูปภาพมีเวลาประทับที่แน่นอน (รวมถึงวินาที) ฉันจะทำให้ชื่อไฟล์เป็นแบบอัตโนมัติได้อย่างไร
คำสั่งควรมีเสถียรภาพในแง่ที่ว่าถ้าฉันดำเนินการในโครงสร้างไดเรกทอรีเดียวกันอีกครั้ง (อาจหลังจากเพิ่มรูปภาพใหม่) รูปภาพที่เปลี่ยนชื่อแล้วไม่ควรเปลี่ยนและถ้ารูปภาพที่มีชื่อไฟล์ที่มีอยู่แล้วถูกเพิ่มชื่อไฟล์ใหม่ควรไม่ซ้ำกัน เช่นกัน
ความพยายามครั้งแรกของฉันคือเพียงแค่ปล่อยให้ชื่อเดิมในชื่อไฟล์ที่ได้มา แต่จากนั้นคำสั่งจะไม่มั่นคงในความหมายข้างต้น
exiftool '-filename<createdate' -d %Y_%m_%d__%H_%M_%S%%-c.%%le "-filemodifydate<createdate#" -r -progress .
จะเป็นสิ่งที่ชอบ บางทีคุณสามารถเปลี่ยนความคิดเห็นเป็นคำตอบได้
mv
ไฟล์