사진 파일의 날짜 정보가 잘못되면 정리나 검색에 큰 불편이 생깁니다. 맥과 윈도우 모두에서 사용할 수 있는 무료 도구 ExifTool을 활용하면, 원본 파일의 생성일, 수정일, 촬영일 등 다양한 날짜 태그를 안전하고 정확하게 변경할 수 있습니다. 명령어 사용법부터 조건부 날짜 변경, 원본 덮어쓰기 옵션까지 차근차근 알기 쉽게 설명합니다.
- ExifTool은 맥과 윈도우에서 모두 사용 가능하며 사진의 EXIF 날짜를 세밀하게 조정할 수 있습니다.
- 맥에서는 Xcode Command Line Tools의 SetFile과 touch 명령어도 활용해 생성일과 수정일을 바꿉니다.
- 날짜 포맷은 ‘yyyy:mm:dd hh:mm:ss’ 형식을 지켜야 하며, 여러 태그를 한 번에 변경하는 것도 가능합니다.
- 조건문을 이용해 특정 날짜 이후의 파일만 편집하거나, 원본 파일을 덮어쓰는 옵션을 써서 작업 효율을 높일 수 있습니다.
- 전문가용 고급 옵션과 안전한 백업 방법도 함께 소개합니다.
ExifTool을 이용한 날짜 정보 편집 기본
ExifTool 설치 및 기본 명령어
ExifTool은 Phil Harvey가 개발한 강력한 메타데이터 편집 도구로, 윈도우와 macOS에서 모두 무료로 설치할 수 있습니다. macOS 사용자는 터미널에서 xcode-select --install
명령으로 Xcode Command Line Tools를 먼저 설치해야 하며, 이후 brew install exiftool
또는 공식 홈페이지에서 직접 다운로드가 가능합니다.
기본 날짜 확인 명령어는 다음과 같습니다:
exiftool -l [파일경로]
여기서 -l
옵션은 모든 EXIF 태그를 상세하게 보여줍니다. 생성일, 수정일, 촬영일 등 주요 날짜 태그를 확인할 수 있습니다.
날짜 태그별 정확한 수정법
사진 파일의 주요 날짜 태그는 다음과 같습니다:
- CreateDate: 파일 생성일
- DateTimeOriginal: 촬영일
- ModifyDate: 파일 수정일
이 중 하나 또는 여러 개를 일괄 변경할 때는 아래 명령어를 활용합니다. 예를 들어, 모든 파일의 촬영일을 2024년 6월 16일 오후 1시 43분으로 바꾸려면:
exiftool -DateTimeOriginal="2024:06:16 13:43:00" [경로]/*
모든 날짜 태그를 생성일과 동일하게 맞추려면:
exiftool '-AllDates<CreateDate' [경로]/*
이 명령은 CreateDate
에 기초해 DateTimeOriginal
과 ModifyDate
까지 일괄 변경합니다.
조건부 날짜 변경과 원본 덮어쓰기
특정 시점 이후의 파일만 날짜를 조정하려면 조건문을 추가할 수 있습니다. 예를 들어 2020년 1월 1일 이후 생성된 파일에 1시간 30분을 더하려면:
exiftool -AllDates+=1:30 -if '$CreateDate ge "2020:01:01"' [경로]
기본적으로 ExifTool은 변경 시 백업 파일을 생성하지만, 백업 없이 바로 원본을 교체하려면 다음 옵션을 사용합니다:
-overwrite_original
: 임시 파일로 수정 후 원본 파일 교체-overwrite_original_in_place
: 원본 파일 변경하되 기존 메타데이터 일부 유지
원본 손실 위험이 있으니 중요한 파일은 별도 백업 후 작업하는 것이 안전합니다.
맥에서 SetFile과 touch로 날짜 조작하기
SetFile 명령어로 생성일 변경
macOS 전용 커맨드 SetFile
은 파일 생성일을 변경하는 데 사용됩니다. Xcode Command Line Tools 설치 후 터미널에서 다음과 같이 입력합니다:
SetFile -d "06/16/2024 13:43:00" [경로/파일명]
날짜 포맷은 반드시 MM/dd/yyyy hh:mm:ss
형식이어야 하며, 생성일만 수정됩니다.
touch 명령어로 수정일 변경
파일의 최종 수정일을 바꾸려면 touch
명령어를 활용합니다. 예를 들어, 2024년 6월 16일 13시 43분으로 변경하려면:
touch -mt 202406161343 [경로]/*.jpg
이 경우 -mt
옵션은 yyyymmddhhmm
형식으로 날짜와 시간을 지정합니다.
SetFile과 touch의 차이점과 활용
SetFile은 생성일만, touch는 수정일(또는 접근일)을 편집할 수 있어 두 명령어를 함께 쓰면 사진 파일의 날짜 정보를 세밀하게 조정할 수 있습니다. 실제 작업 시에는 생성일, 촬영일, 수정일 간 일관성을 유지하는 것이 중요합니다.
명령어 | 기능 | 지원 OS | 날짜 포맷 | 특징 |
---|---|---|---|---|
ExifTool | EXIF 태그 내 모든 날짜(생성, 촬영, 수정) 편집 | Windows, macOS, Linux | yyyy:mm:dd hh:mm:ss | 정교한 조건부 편집, 백업 옵션 제공 |
SetFile | 파일 생성일 변경 | macOS | MM/dd/yyyy hh:mm:ss | Xcode Command Line Tools 필요 |
touch | 파일 수정일 및 접근일 변경 | macOS, Linux | yyyymmddhhmm | 간단한 수정일 변경에 적합 |
실제 사용 경험과 추천하는 작업법
날짜 정보가 틀린 사진 정리 사례
한 사진작가는 3,000여 장의 여행 사진 중 15%가 카메라 설정 오류로 촬영일이 엉망이었습니다. ExifTool을 사용해 조건부로 2022년 이후 파일만 골라 촬영일을 일괄 수정했고, 1시간 오차 문제도 -AllDates+=1:00
옵션으로 해결했습니다. 작업 시간은 약 30분으로 대폭 단축되었습니다.
작업 전 백업과 복구 전략
ExifTool은 기본적으로 원본 파일 백업(.jpg_original)을 생성하지만, 백업 없이 원본 덮어쓰기를 하면 복구가 어렵습니다. 중요한 사진은 외장 하드나 클라우드에 반드시 별도 복사본을 두고 작업하는 것을 권장합니다. 복구가 필요한 경우 백업 파일에서 복원할 수 있어야 합니다.
전문가용 고급 옵션 활용법
ExifTool의 -TagsFromFile
옵션을 사용하면 한 파일의 날짜 태그를 다른 파일에 그대로 복사할 수 있습니다. 예를 들어 촬영일이 올바른 파일에서 날짜를 복사하려면:
exiftool -TagsFromFile source.jpg -AllDates target.jpg
이 기능은 파일 간 날짜 동기화 시 매우 유용합니다.
- 날짜 변경 시 반드시 날짜 포맷을 정확히 지켜야 오류를 피할 수 있습니다.
- 조건문을 활용해 대규모 사진도 빠르게 처리 가능하며, 작업 전후 날짜를 기록해 두면 관리가 편리합니다.
- 원본 보전이 중요한 경우
-overwrite_original
옵션 사용을 신중히 결정하세요.- SetFile과 touch는 단일 파일 혹은 소수 파일 수정에 적합하며, 대량 작업 시 ExifTool이 효율적입니다.
작업 유형 | 추천 도구 | 장점 | 주의점 |
---|---|---|---|
대규모 사진 날짜 정리 | ExifTool | 조건부 편집, 일괄 처리, 백업 옵션 | 명령어 정확성 필수, 백업 관리 필요 |
단일 파일 생성일 수정 | SetFile (macOS) | 직관적 명령어, 시스템 내장 | Xcode Tools 설치 필요 |
수정일 빠른 변경 | touch (macOS/Linux) | 간단 명령어, 빠른 실행 | 생성일 변경 불가 |
자주 묻는 질문 (FAQ)
ExifTool로 사진의 촬영일을 어떻게 변경하나요?
ExifTool에서 -DateTimeOriginal="yyyy:mm:dd hh:mm:ss"
형식으로 날짜를 지정한 후, 파일 경로와 함께 명령어를 실행하면 촬영일이 바뀝니다. 예: exiftool -DateTimeOriginal="2024:06:16 13:43:00" ./사진.jpg
맥에서 SetFile과 touch 명령어 차이는 무엇인가요?
SetFile은 파일 생성일을 수정하는 반면, touch는 수정일이나 접근일을 변경합니다. 두 명령어를 함께 사용하면 날짜 정보를 종합적으로 조정할 수 있습니다.
ExifTool 사용 시 원본 파일은 어떻게 보호하나요?
기본적으로 ExifTool은 변경 시 _original
파일을 백업합니다. 백업 없이 바로 덮어쓰는 옵션(-overwrite_original
)은 신중하게 사용하고, 중요한 파일은 사전에 별도 백업을 권장합니다.
날짜 포맷이 맞지 않으면 어떻게 되나요?
ExifTool은 날짜 포맷이 잘못되면 오류를 발생시키거나 날짜가 적용되지 않습니다. 반드시 ‘yyyy:mm:dd hh:mm:ss’ 형식을 지켜야 하며, SetFile과 touch는 각기 다른 포맷을 사용합니다.
여러 파일에 조건부로 날짜를 변경할 수 있나요?
네, ExifTool은 -if
옵션으로 조건문을 걸어 특정 날짜 이후 파일만 편집할 수 있습니다. 예를 들어 2020년 1월 1일 이후에 생성된 파일만 1시간 30분 더하려면 -AllDates+=1:30 -if '$CreateDate ge "2020:01:01"'
을 사용합니다.
◀ 댓글 ▶