重複したファイル名を持つ画像をどのように管理しますか?
しません!:)代わりに、importの前にそれらの名前を変更することにより、重複するファイル名を持つ画像を避ける。 それでおしまい!
[実際、ハードリンクを使用していますが、同じことです。]
それは本質的に私の答え全体です。必要に応じて、私が個人的にどのようにそれを達成するかについての詳細を読むことを歓迎します。ただし、私の答えがわかりにくい場合は、上記の概念に注目してください。同じ基本概念を実現する方法は他にもたくさんあります。
注:この回答の残りの部分は、UNIXに似ていて、その命名法の一部がオタクです。ただし、概念は一般的なものであり、この種のことは他の場所でも可能です。私がこの答えを書いた方法を改善する方法についての提案があれば、喜んで聞いています。私も疲れているときにこれを書いています、そして私は冗長になる傾向がありますので...うまくいけば、これはすべて理にかなっており、そうでなければ、私に知らせてください、そして私は編集で明確にするために最善を尽くします。
特に、を実行するというスクリプトを実行します。このスクリプトimport_card
は、shoot / session / whateverの名前を要求し、次のことを行います。
画像をインポートする適切なディレクトリにいることを確認してください。(これはいくつかの方法で行うことができますが、私が行う方法は、YYYY / MMのように現在の年と月に一致するディレクトリが既に存在することを確認することです。)
現在コンピュータに接続されている1つまたは複数のメモリカードを探します。
各カードのデータ(EXIFデータを参照)を一度に1つずつスキャンして、画像の記録元のカメラ(シリアル番号)、およびカード内の画像の最新の日付を把握します。 (複数の日付がある場合は、最新のものを使用します)。(注:1枚のカードに複数のカメラが存在する可能性があります。ほとんどの場合、その場合は実行しないようにしますが、実行してもうまく処理されます。)
データを(正確に)カードから次のようなフォルダーにコピーします。
./YYYY/MM/YYYYMMDD-cameraID-the_name_I_entered.in
どこにcameraID
短い名前はに基づいて(カードは複数のカメラで撮影した場合、または複数のそのようなID)を、私は、個々のカメラに割り当てられたこと(例えば、「30D」または「G9」、または時には長い何か借りたカメラを示す)でありますカメラのシリアル番号。(EXIFデータにシリアル番号が含まれていない場合、推測に使用する他のヒューリスティックがあります。これは、使用するカメラの数が限られている場合はほとんど有効ですが、一部は故障する可能性があります)。このフォルダには、次のようなファイル名が含まれている場合があります。
DCIM/123CANON/_MG_4567.CR2
(私は主にキヤノンを撮影しますが、これは他のカメラでも行うことができ、私のスクリプトはいくつかの異なるタイプのキヤノンと少なくとも1つの他のブランドのカメラも同様に処理します。)
それが完了したら、IDの一部としてDCIMサブディレクトリの名前を使用して(そしてこれがこの全体の鍵となります)名前変更(本当にハードリンク)を行います。だから、新しいディレクトリが作成されますようにYYYY/MM/YYYYMMDD-cameraID-the_name_I_entered
(なし.in
かかります)123
に123CANON
し、4567
中に_MG_4567.CR2
私は、(別の)短い(ER)私自身のカメラ用のカメラを特定する接頭辞(通常は1文字、およびカメラのためのいくつかの文字でも組み合わせ「借りた」-再び、各画像に使用されるカメラのシリアル番号に基づいて (複数のカメラでカードを撮影した場合、カメラ間で番号付けスキームが異なるかどうかにかかわらず、個々のファイルには異なるプレフィックスが付けられます)、(現在のプレフィックスである「e」メインカメラ、ただしそれは何でも構いません):
e123-4567.CR2
次に、前の手順で作成したディレクトリ(名前に「.in」が含まれるディレクトリではない)を新しいプロジェクトとしてApertureまたはLightroomにインポートします(両方とも異なるタイミングで使用しました。それぞれに利点があります)。そこから、「マスターファイル名」と「バージョン番号」(Apertureの用語、Lightroomが同じ概念と呼んでいるものを忘れてしまいます)には、「my-to-my-entre-library」という文字列がありますe123-4567
初期化。その後、目的を問わず画像をエクスポートする場合、エクスポートしたファイルの名前にこれを含め、接頭辞として(場合によっては)他の人に直接渡す画像の場合は自分の名前を付けます(特にflickrの場合は特に)アップロード)何らかの種類の説明的なタイトル(flickrのタイトルと一致するので、簡単にそれらを結び付けることができます)の画像、および/または異なる編集がある場合(後者は保存するものです) Aperture内の「バージョン名」)。
上記のすべての間に、次の利点があります。
カードの正確なデータのアーカイブがあります。必要に応じて、そのデータをカードに戻すことができ、カメラはそれが削除されたことがないかのように理解できます。
インポートする画像には、かなり保証された一意の番号が付いています。
(警告:フォルダー名で999CANONを超えると問題が発生します-最大で985CANONになりますが、それは主に、Canon 10Dの間でカードを前後に共有していたためです。このような各フォルダーに100個の画像、および基本的に10,000個を配置する30Dですが、10Dが中断したところから番号を引き継ぐと、10Dはそれで愚かなことをします。新しいカメラボディを使用する前に999を超えることはないので、ナンバリングを汚さないように注意し、100CANONで開始するようにします。999の制限に達すると、そのカメラのプレフィックスを変更するだけで、すべてうまくいきます。)
一意の番号は比較的短いため、通常、ファイル名はそれほど大きくありません。(ディレクトリ(したがってプロジェクト)の名前は、ときどきうっとうしいほど長くなりますが、その情報を手元に置いておくのが好きなので、対処します。)
ApertureやLightroomなどで、このようなデータをファイル名に入れられない理由はわかりません。特に、DCIMディレクトリ内のフォルダ名から番号を取得する部分。悲しいかな、彼らはしません。これまでのところ、とにかく。:) Lightroomにはインポート中に名前を変更するためのいくつかのルールがあり、おそらくそれを使用して(おそらく日付に基づいて)このアイデアの代替バージョンを実現できますが、DCIMフォルダーIDを抽出する方法がありませんでした、最後に私が見た。
とにかく、これが何らかの形で人々に役立つことを願っています。私のスクリプトは現在、自分のニーズに合わせて高度にカスタマイズされた方法で作成されていますが、十分な需要があれば、クリーンアップしてオープンソースのものとしてリリースすると確信できます。または、ruby、perl、pythonなどが得意であれば、独自のバージョンを書くこともできます。
または、AppleやAdobeにバグを与えて、そのような製品を自社製品に組み込むこともできます。:)