คุณจะจัดการรูปภาพที่มีชื่อไฟล์ซ้ำได้อย่างไร?
ฉันไม่! :) แต่ผมหลีกเลี่ยงภาพที่มีชื่อไฟล์ที่ซ้ำกันโดยการเปลี่ยนชื่อพวกเขาก่อนที่จะนำเข้า แค่นั้นแหละ!
[จริงๆแล้วฉันใช้ฮาร์ดลิงก์ แต่มันก็มีจำนวนเท่ากัน]
นั่นคือคำตอบทั้งหมดของฉันในสาระสำคัญ คุณสามารถอ่านรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการที่ฉันโดยส่วนตัวได้หากต้องการ หากคำตอบของฉันสับสนเพียงแค่มุ่งเน้นไปที่แนวคิดด้านบน - มีวิธีอื่นอีกมากมายในการบรรลุแนวคิดพื้นฐานเดียวกัน
หมายเหตุ: ส่วนที่เหลือของคำตอบนี้เป็น UNIX-ish และ geeky ในศัพท์เฉพาะบางส่วน แนวคิดนั้นเป็นเรื่องทั่วไปและแน่นอนว่าสิ่งเหล่านี้สามารถทำได้ที่อื่น หากใครมีคำแนะนำเกี่ยวกับวิธีการปรับปรุงวิธีที่ฉันเขียนคำตอบนี้ฉันยินดีที่จะได้ยินพวกเขา ฉันยังเขียนสิ่งนี้เมื่อเหนื่อยและฉันมักจะ verbose ดังนั้น ... หวังว่าทั้งหมดนี้จะทำให้รู้สึกและถ้าไม่โปรดแจ้งให้เราทราบและฉันจะทำให้ดีที่สุดเพื่อแก้ไขในการแก้ไข
โดยเฉพาะอย่างยิ่งฉันมีสคริปต์ที่ฉันเรียกใช้import_card
ซึ่งจะขอชื่อสำหรับการถ่ายภาพ / เซสชัน / อะไรก็ตามจากนั้นทำสิ่งต่อไปนี้:
ตรวจสอบให้แน่ใจว่าฉันอยู่ในไดเรกทอรีที่เหมาะสมสำหรับการนำเข้ารูปภาพ (สิ่งนี้สามารถทำได้หลายวิธี แต่วิธีที่ฉันทำคือเพียงเพื่อให้แน่ใจว่ามีไดเรกทอรีที่ตรงกับปีและเดือนปัจจุบันเป็น YYYY / MM แล้ว)
ค้นหาการ์ดหน่วยความจำอย่างน้อยหนึ่งตัวที่ต่ออยู่กับคอมพิวเตอร์ในปัจจุบัน
สแกนข้อมูลในการ์ดแต่ละใบ (ดูที่ข้อมูล EXIF) หนึ่งครั้งต่อครั้งเพื่อดูว่ากล้องบันทึกภาพจากที่ใด (ตามหมายเลขซีเรียล) และวันที่ล่าสุดเป็นภาพภายในการ์ด (หากมีหลายวันฉันจะไปกับวันที่ล่าสุด) (หมายเหตุ: อาจมีกล้องหลายตัวในการ์ดเดียวส่วนใหญ่ฉันพยายามไม่ใช้กรณีนี้ แต่มันจัดการได้ดีถ้าฉันทำ)
คัดลอกข้อมูลจากบัตรของฉันไปยังโฟลเดอร์เช่น:
./YYYY/MM/YYYYMMDD-cameraID-the_name_I_entered.in
ในกรณีที่cameraID
เป็นชื่อสั้น ๆ (เช่น "30d" หรือ "G9" หรือบางครั้งสิ่งที่เกินจะบ่งบอกถึงกล้องยืม) ที่ผมได้รับมอบหมายให้กล้องของแต่ละบุคคล (หรือรหัสดังกล่าวหลายถ้าการ์ดที่ถูกยิงด้วยกล้องหลายตัว) ตาม หมายเลขซีเรียลของกล้อง (สำหรับกรณีที่ข้อมูล EXIF ไม่รวมถึงหมายเลขซีเรียลฉันมีฮิวริสติกแบบอื่นที่ฉันเดาได้ซึ่งส่วนใหญ่ใช้งานได้ดีกับกล้องที่มีจำนวน จำกัด ที่ฉันใช้ แต่อาจพังลงได้บ้าง) โฟลเดอร์นี้อาจมีชื่อไฟล์อยู่ภายใน:
DCIM/123CANON/_MG_4567.CR2
(ส่วนใหญ่ฉันจะถ่ายแคนนอน แต่สิ่งนี้สามารถทำได้กับกล้องอื่น ๆ ด้วยและสคริปต์ของฉันก็จัดการกับ Canon ประเภทต่าง ๆ และกล้องยี่ห้ออื่นอย่างน้อยหนึ่งรุ่นเช่นกัน)
หลังจากที่ทำทำการเปลี่ยนชื่อ (การเชื่อมโยงยากจริงๆ) โดยใช้ (และนี่คือกุญแจสำคัญในการสิ่งทั้งหมดนี้) ชื่อของไดเรกทอรีย่อย DCIM เป็นส่วนหนึ่งของประชาชน ดังนั้นไดเรกทอรีใหม่จะถูกสร้างเช่นYYYY/MM/YYYYMMDD-cameraID-the_name_I_entered
(โดยไม่มี.in
) ซึ่งใช้เวลา123
ใน123CANON
และ4567
ใน_MG_4567.CR2
รวมกับคำนำหน้าสั้น (ต่าง) (เอ้อ) ที่ระบุกล้อง (โดยทั่วไปจะมีตัวอักษรหนึ่งตัวสำหรับกล้องของฉันเองและตัวอักษรหลายตัวสำหรับกล้องฉัน ยืมมาแล้ว) - อีกครั้งตามหมายเลขซีเรียลของกล้องที่ใช้สำหรับแต่ละภาพ (ดังนั้นถ้าฉันใช้การ์ดกับกล้องหลายตัวไฟล์แต่ละไฟล์จะมีคำนำหน้าต่างกันไม่ว่าจะเป็นรูปแบบการกำหนดหมายเลขนั้นแตกต่างกันระหว่างกล้องหรือไม่) สร้างไฟล์เช่น (สมมติว่าเป็น "e" ซึ่งเป็นปัจจุบันของฉัน กล้องหลัก แต่อาจเป็นอะไรก็ได้):
e123-4567.CR2
ฉันนำเข้าไดเรกทอรีที่สร้างขึ้นในขั้นตอนก่อนหน้า (เช่นไม่ใช่ชื่อที่มี ".in" ในชื่อ) เป็นโครงการใหม่ใน Aperture หรือ Lightroom (ฉันใช้ทั้งสองในเวลาที่ต่างกัน - พวกเขาแต่ละคนมีข้อดี) จากนั้น "ชื่อไฟล์หลัก" และ "หมายเลขเวอร์ชัน" (คำศัพท์รูรับแสงฉันลืมสิ่งที่ Lightroom เรียกว่าแนวคิดเดียวกัน) มีสตริงสตริงที่ไม่เหมือนใครทั้งห้องสมุดe123-4567
ในนั้น. เมื่อฉันส่งออกภาพเพื่อวัตถุประสงค์ใดก็ตามฉันรวมสิ่งนี้ไว้ในชื่อของไฟล์ที่ส่งออกพร้อมกับ (บางครั้ง) ชื่อของฉันเป็นคำนำหน้า (สำหรับภาพที่ฉันจะให้กับผู้อื่นโดยตรง) และ (บ่อยครั้งโดยเฉพาะอย่างยิ่งเช่น Flickr อัปโหลด) ชื่อประเภทอธิบายบางอย่าง (จับคู่กับชื่อ flickr ดังนั้นฉันสามารถผูกเข้าด้วยกัน) ของรูปภาพและ / หรือ "รุ่น" ของมันถ้าฉันมีการแก้ไขที่แตกต่างกัน (หลังเป็นสิ่งที่ฉันเก็บไว้ใน "ชื่อรุ่น" ภายในรูรับแสง)
จากทั้งหมดข้างต้นฉันได้รับประโยชน์ดังต่อไปนี้:
ฉันมีที่เก็บข้อมูลที่แน่นอนจากการ์ด หากฉันต้องการฉันสามารถนำข้อมูลนั้นกลับไปไว้บนการ์ดและกล้องจะสามารถเข้าใจได้ราวกับว่าไม่เคยถูกลบออก
ภาพที่ฉันนำเข้ามีหมายเลขที่ไม่ซ้ำใครรับประกันได้ค่อนข้างมาก
(ข้อแม้: ถ้าฉันหมุนผ่าน 999CANON สำหรับชื่อโฟลเดอร์ฉันจะมีปัญหา - และฉันสูงถึงประมาณ 985CANON แต่นั่นส่วนใหญ่เป็นเพราะฉันเคยแบ่งปันการ์ดไปมาระหว่าง Canon 10D ซึ่งใส่เท่านั้น 100 ภาพในแต่ละโฟลเดอร์ดังกล่าวและ 30D ซึ่งทำให้ 10,000 โดยทั่วไป แต่รับช่วงต่อจากที่ที่ 10D ค้างไว้จากนั้น 10D จะทำสิ่งที่งี่เง่ากับสิ่งนั้นฉันอยู่ที่ 985 นานแล้วและสวม คาดว่าจะมีมากกว่า 999 ก่อนที่จะมีตัวกล้องใหม่ซึ่งฉันจะต้องระวังไม่ให้เกิดมลภาวะต่อตัวเลขดังนั้นฉันจะเริ่มต้นด้วย 100CANON ถ้าฉันตีด้วยขีด จำกัด 999 ถึงแม้ว่าฉัน สามารถเปลี่ยนคำนำหน้าสำหรับกล้องนั้นได้และทุกอย่างจะดีขึ้น)
หมายเลขที่ไม่ซ้ำกันค่อนข้างสั้นดังนั้นชื่อไฟล์ของฉันจึงไม่ใหญ่นัก (ชื่อไดเรกทอรี (และโปรเจ็กต์) บางครั้งชื่อยาวน่ารำคาญอนิจจา แต่ฉันชอบที่มีข้อมูลนั้นมีประโยชน์ดังนั้นฉันจึงจัดการกับมัน)
ฉันไม่รู้ว่าทำไมรูรับแสงและ Lightroom และเช่นนั้นไม่อนุญาตให้ใส่ข้อมูลแบบนี้ในชื่อไฟล์ โดยเฉพาะอย่างยิ่งส่วนของการรับหมายเลขจากชื่อโฟลเดอร์ในไดเรกทอรี DCIM อนิจจาพวกเขาทำไม่ได้ จนถึงตอนนี้ :) ฉันรู้ว่า Lightroom มีกฎบางอย่างสำหรับการเปลี่ยนชื่อสิ่งต่าง ๆ ในระหว่างการนำเข้าและคุณอาจประสบความสำเร็จในรุ่นอื่นของความคิดนี้โดยใช้ (ตามวันที่มีแนวโน้มมากที่สุด) แต่ไม่มีวิธีใดที่จะแยก ID โฟลเดอร์ DCIM ฉันดูครั้งสุดท้าย
อย่างไรก็ตามฉันหวังว่านี่จะเป็นประโยชน์กับคนทั่วไป ขณะนี้สคริปต์ของฉันเขียนด้วยวิธีที่ปรับแต่งได้ตามความต้องการของฉันเอง แต่ฉันสามารถโน้มน้าวให้ล้างข้อมูลและเผยแพร่เป็นโอเพ่นซอร์สหากมีความต้องการมากพอ หรือถ้าคุณเก่ง ruby, perl, python หรือชอบคุณสามารถเขียนเวอร์ชั่นของคุณเอง
หรือคุณอาจบั๊ก Apple และ Adobe เพื่อสร้างสิ่งนี้ในผลิตภัณฑ์ของพวกเขา :)