중복 된 파일 이름을 가진 이미지를 어떻게 관리합니까?
나는하지 않습니다! :) 대신 가져 오기 전에 이름을 바꾸어 파일 이름이 중복 된 이미지를 피하십시오 . 그게 다야!
[실제로, 나는 하드 링크를 사용하지만 같은 것입니다.]
그것은 본질적으로 내 모든 대답입니다. 넌 환영하는 방법에 대한 자세한 내용에 읽어 나는 당신이 좋아하는 경우에, 개인적으로, 그 달성. 그래도 내 대답이 혼란스러워지면 위의 개념에만 집중하십시오. 동일한 기본 개념을 달성하는 다른 방법이 많이 있습니다.
참고 :이 답변의 나머지 부분은 일부 명명법에서 유닉스 계열이며 괴짜입니다. 그러나 개념은 일반적이며 반드시 이런 종류의 작업을 다른 곳에서 수행 할 수 있습니다. 이 답변을 작성하는 방식을 개선하는 방법에 대한 제안이 있으면 누구나 기꺼이들을 수 있습니다. 나는 또한 피곤할 때 이것을 쓰고 있고, 장황한 경향이 있기 때문에, 희망이 있다면 이것도 모두 의미가있을 것이며, 그렇지 않다면 알려 주시기 바랍니다. 그리고 편집을 명확하게하기 위해 최선을 다하겠습니다.
특히, 나는 실행 된 스크립트를 가지고 있는데 import_card
, 이것은 촬영 / 세션 / 무엇이든간에 이름을 묻고 다음을 수행합니다.
이미지를 가져올 적절한 디렉토리에 있는지 확인하십시오. (이것은 여러 가지 방법으로 수행 될 수 있지만, 내가하는 방법은 YYYY / MM과 같이 현재 연도 및 월과 일치하는 디렉토리가 이미 있는지 확인하는 것입니다.)
현재 컴퓨터에 연결된 하나 이상의 메모리 카드를 찾으십시오.
한 번에 하나씩, 각 카드의 데이터 (EXIF 데이터보기)를 스캔하여 이미지가 기록 된 카메라 (일련 번호)와 카드 내 이미지의 가장 최근 날짜는 무엇인지 파악합니다. (날짜가 여러 개인 경우 가장 최근 날짜로갑니다). (참고 : 단일 카드에 여러 대의 카메라가있을 수 있습니다. 나는 대부분 그 경우를 거치지 않으려 고 노력하지만 잘 처리합니다.)
내 카드의 데이터를 정확하게 다음과 같은 폴더로 복사하십시오.
./YYYY/MM/YYYYMMDD-cameraID-the_name_I_entered.in
cameraID
내가 개별 카메라에 할당 한 짧은 이름 (예 : "30d"또는 "g9"또는 빌려온 카메라를 나타 내기 위해 더 긴 것)은 어디에 있습니까 ? 카메라의 일련 번호. (EXIF 데이터에 일련 번호가 포함되어 있지 않은 경우 추측하는 데 사용하는 다른 휴리스틱이 있습니다.이 휴리스틱은 주로 사용하는 제한된 수의 카메라에서 잘 작동하지만 일부에서는 고장날 수 있습니다). 이 폴더에는 다음과 같은 파일 이름이있을 수 있습니다.
DCIM/123CANON/_MG_4567.CR2
(저는 주로 Canon을 촬영하지만 다른 카메라로도 수행 할 수 있으며 스크립트는 몇 가지 다른 유형의 캐논과 하나 이상의 다른 브랜드의 카메라도 처리합니다.)
완료되면 ID의 일부로 DCIM 서브 디렉토리의 이름을 사용하여 이름 바꾸기 (실제로 하드 링크)를 수행하십시오 . 그래서, 새로운 디렉토리가 같이 생성됩니다 YYYY/MM/YYYYMMDD-cameraID-the_name_I_entered
(없이 .in
)를 취하는 123
에서 123CANON
와 4567
에서 _MG_4567.CR2
A (다른) 짧은 (어)와도 결합, 접두사 카메라 용 카메라 (내 자신의 카메라 일반적으로 하나의 문자, 여러 문자를 식별 I 다시 빌 렸습니다)- 각 이미지에 사용 된 카메라 의 일련 번호를 기준으로 다시 (따라서 여러 대의 카메라에서 카드를 촬영 한 경우 카메라마다 번호 체계가 다른지 여부에 관계없이 개별 파일에 다른 접두사가 붙습니다.) (현재 접두사 "e"라고 가정) 메인 카메라이지만 아무것도 될 수 있습니다) :
e123-4567.CR2
그런 다음 이전 단계에서 생성 한 디렉토리 (예 : 이름에 ".in"이 없는 디렉토리 )를 Aperture 또는 Lightroom으로 가져옵니다 (각각 다른 시간에 사용했습니다. 각각 장점이 있습니다). 거기에서 "마스터 파일 이름"과 "버전 번호"(조리개 용어, Lightroom에서 동일한 개념이라고 부르는 것을 잊어 버렸습니다)에는 고유 한 전체 라이브러리 문자열이 있습니다.e123-4567
그 안에. 그런 다음 어떤 목적 으로든 이미지를 내보낼 때 내 보낸 파일의 이름에 접두사로 내 이름과 함께 내 이름을 포함시키는 경우가 있습니다 (때로는 다른 사람에게 직접 제공 할 이미지의 경우). 업로드) 이미지에 대한 일종의 설명 적 제목 (플리커 제목과 일치하므로 쉽게 묶을 수 있음) 및 / 또는 다른 편집본이있는 경우 이미지의 "버전"(후자는 Aperture 내의 "버전 이름").
위의 모든 것 사이에 다음과 같은 이점이 있습니다.
카드의 정확한 데이터를 보관하고 있습니다. 내가 원한다면, 그 데이터를 다시 카드에 넣을 수 있었고, 카메라는 한번도 빼지 않은 것처럼 이해할 수있을 것입니다.
내가 가져온 이미지에는 보증 된 고유 번호가 있습니다.
(주의 사항 : 폴더 이름으로 999CANON을 넘기면 문제가 생길 것입니다. 최대 약 985CANON이지만 캐논 10D간에 카드를 앞뒤로 공유했기 때문에 발생합니다. 각 폴더에 100 개의 이미지가 있고 30D는 기본적으로 10,000 개이지만 10D가 끝난 위치에서 번호를 매기고 10D는 그와 함께 바보 같은 일을 할 것입니다. 새로운 카메라 바디를 사용하기 전에 999를 초과 할 것으로 기대하지 않습니다. 번호 매기기를 오염시키지 않도록 조심할 것이므로 100CANON으로 생각합니다.하지만 999 한계에 도달하면 해당 카메라의 접두사를 변경하면 모든 것이 잘됩니다.)
고유 번호는 비교적 짧으므로 일반적으로 내 파일 이름이 너무 크지 않습니다. (디렉토리 (및 프로젝트) 이름은 때때로 성가 시게 길지만, 그 정보를 편리하게 사용하는 것을 좋아하므로 처리합니다.)
Aperture와 Lightroom이 왜 그런지 알지 못하므로 이와 같은 데이터를 파일 이름에 넣을 수 없습니다. 특히 DCIM 디렉토리의 폴더 이름에서 번호를 가져 오는 부분. 아아, 그들은하지 않습니다. 여하튼. :) Lightroom에는 가져 오는 동안 항목 이름을 바꾸는 규칙이 있다는 것을 알고 있으며 아마도이 날짜를 사용 하여이 아이디어의 대체 버전을 얻을 수는 있지만 DCIM 폴더 ID를 추출하는 방법은 없었습니다. , 나는 마지막으로 보았다.
어쨌든, 이것이 어떻게 든 사람들에게 도움이되기를 바랍니다. 내 스크립트는 현재 내 필요에 맞게 사용자 정의 된 방식으로 작성되었지만 충분한 수요가있는 경우 정리하여 공개 소스로 릴리스하도록 확신 할 수 있습니다. 또는 루비, 펄, 파이썬 등에 능숙하다면 자신의 버전을 작성할 수 있습니다.
또는 Apple과 Adobe에 버그를 제기하여 이와 같은 제품을 제작할 수 있습니다. :)