예:

예:

FTP 사이트에 업로드할 때 원본 파일 생성 날짜가 없어진 것 같은데 업로드 날짜가 나오네요. 그러나 파일의 Exif 데이터는 정확합니다. Exif 날짜 생성일을 일괄 변경할 수 있는 도구가 있나요?

답변1

EXIF 처리 도구exiv2이에 대한 내장 옵션이 있습니다:

exiv2 -T rename image.jpg

마지막 파일 수정 시간을 mtimeEXIF ​​메타데이터에 저장된 날짜로 설정합니다.

생성 시간을 사용하도록 요청했지만 이는 Unix 계열 시스템에서는 사용되지 않습니다.정당한 이유로.

나는 당신이 창조 시간이라고 부르는 시간이 실제로 그 시간이라고 확신합니다 mtime. 문제 없습니다.

~에서man exiv2:

NAME
  exiv2 - Image metadata manipulation tool

SYNOPSIS
  exiv2 [options] [action] file ...

DESCRIPTION
  exiv2 is a program to read and write Exif, IPTC and XMP image metadata and image com‐
  ments. The following image formats are supported:

[ ... ]

mv | rename
 Rename files and/or set file timestamps according to the Exif create time‐
 stamp.  Uses  the  value  of  tag  Exif.Photo.DateTimeOriginal  or, if not
 present, Exif.Image.DateTime to determine the timestamp. The filename for‐
 mat can be set with -r fmt, timestamp options are -t and -T.

[ ... ]

-T  Only  set  the  file  timestamp according to the Exif create timestamp, do not
    rename the file (overrides -k). This option is only  used  with  the  'rename'
    action.  Note:  On Windows you may have to set the TZ environment variable for
    this option to work correctly.

-t반대 작업을 수행하려면 옵션을 참조하세요.

답변2

"Volker Siegel"이 언급한 것처럼 mtime을 참조한다고 가정하면 간단히 EXIFtools 내장 기능을 사용하겠습니다.

좋다:

 $ exiftool "-DateTimeOriginal>FileModifyDate" test.jpg

이는 "exif 필드 "DateTimeOriginal" 정보를 사용하여 파일 시스템 "test.jpg"에 대한 수정 날짜/시간 정보를 설정하는 데 사용됩니다.

예:

$ ls -la test.jpg
-rw-r-----@ 1 user  18329968  2432451 14 Out 17:57 test.jpg

$ exiftool -DateTimeOriginal test.jpg
Date/Time Original              : 2015:10:09 13:29:58
 
$ exiftool "-DateTimeOriginal>FileModifyDate" test.jpg
    1 image files updated
 
$ ls -la test.jpg
-rw-r-----@ 1 user  18329968  2432451  9 Out 13:29 test.jpg

답변3

jhead다음 명령을 사용할 수도 있습니다 .

$ jhead -ft file.jpg

~에서매뉴얼 페이지:

-ft 파일의 시스템 타임스탬프를 Exif 헤더에 저장된 타임스탬프로 설정합니다.

-dsft Exif 타임스탬프를 파일의 타임스탬프로 설정합니다. 기존 Exif 헤더가 필요합니다. -mkexif필요한 경우 옵션을 사용하여 생성하세요.

답변4

ExifTool은 날짜/시간을 원시로 추출하거나 EXIF ​​태그에서 데이터를 생성하는 등 대부분의 EXIF ​​정보를 읽고 조작할 수 있습니다. 이 정보를 사용하여 파일 이름을 바꾸거나 타임스탬프를 변경할 수 있습니다. 예를 들어:

find -name '*.jpg' | while read PIC; do
    DATE=$(exiftool -p '$DateTimeOriginal' $PIC |
    sed 's/[: ]//g')
    touch -t $(echo $DATE | sed 's/\(..$\)/\.\1/') $PIC
done

그러면 현재 디렉터리에서 모든 JPG 파일을 찾고 타임스탬프가 업데이트됩니다.

또한 해당 날짜를 기준으로 파일 이름을 지정하려면 mv -i $PIC $(dirname $PIC)/$DATE.jpg이 줄 앞에 추가하세요(종종 유용함).done

관련 정보