EXIFファイルの作成日に基づいて、何千ものjpgファイルを毎日のディレクトリに移動します。

EXIFファイルの作成日に基づいて、何千ものjpgファイルを毎日のディレクトリに移動します。

画像が作成された日付に基づいて名前付きディレクトリ構造にソートする必要がある何千ものjpgとmp4があります。ファイルの変更日が間違っている可能性があるため、EXIF日付から開始することをお勧めします。しかし、EXIF日付を取得するために多くの作業が必要な場合は、変更された日付を使用することをお勧めします。

だから、

  • file12014-06-30に撮影
  • file22014-07-01で撮影
  • file32014-06-30に撮影

ディレクトリに移動しました

  • /140630/file1
  • /140701/file2
  • /140630/file3

私はOS X YosemiteをUnixとして使用します。

答え1

ImageMagickをインストールし、-verboseで認識ツールを使用できます。たとえば、次のようになります。

for f in *.jpg *.jpeg *.JPG *.JPEG *.mp4 *.MP4; do
  echo $f
  identify -verbose "$f"|grep exif:DateTime
  echo
done

Kepler22b-artwork.jpg

Kepler-62f_with_62e_as_Morning_Star.jpg
    exif:DateTime: 2013:04:08 10:45:44

logo.jpg

P1050030.JPG
    exif:DateTime: 2013:11:01 22:59:27
    exif:DateTimeDigitized: 2013:10:31 23:39:55
    exif:DateTimeOriginal: 2013:10:31 23:39:55

P1070322.JPG
    exif:DateTime: 2014:07:14 10:48:43
    exif:DateTimeDigitized: 2014:07:14 10:48:43
    exif:DateTimeOriginal: 2014:07:14 10:48:43

申し訳ありません。これは完全な解決策ではありませんが、bashやPythonなどのスクリプト言語に精通している場合は、この出力を解析して各出力を保存するフォルダを決定するスクリプトを簡単に作成できます。

ご覧のとおり、一部のファイルには3つのDateTimeフィールドがあり、一部はそうでないため、手動で処理する必要のあるフィールドが残っているか、ファイルの変更時間を代替手段として使用できます。

関連情報