Czy istnieje darmowy program (wsadowy) do zmiany daty pliku zdjęcia, aby pasował do EXIF?
39
Chcę określić katalog i pozwolić oprogramowaniu znaleźć wszystkie zdjęcia w tym katalogu i jego podkatalogach, a jeśli zawierają datę / godzinę EXIF, ustawia znacznik czasu ich systemu plików zgodnie z EXIF.
Spośród nich, dla tego bardzo prostego zadania, główka jest moją sugestią. Na przykład polecenie
jhead -ft *.jpg
ustawia wiązkę plików, tak aby znacznik czasu pliku pasował do EXIF.
jhead with find, do przechodzenia przez podkatalogi
Aby wykonać rekursję do podkatalogów, możesz połączyć ją z findpoleceniem dostępnym w Linux / Unix / Mac (lub Cygwin dla Windows):
find -name '*.jpg' -exec jhead -ft {} +
Lub znaleźć każdego z *.JPG *.JPEG *.jpg *.jpeg ...was, można również spróbować
find -iname '*.jp*g' -exec jhead -ft {} +
Możesz także użyć polecenia find, aby wyświetlić wszystkie pliki, które zostaną ... znalezione, bez wykonywania innych poleceń (takich jak jhead):
find -iname '*.jp*g'
Inne narzędzia
Inne narzędzia, takie jak ExifTool lub Exiv2, są znacznie bardziej wydajne, ale za cenę złożoności. Nigdy nie pamiętam od razu odpowiednich opcji, aby cokolwiek z nimi zrobić i za każdym razem muszę przeglądać dokumentację, ale jhead -ftłatwo jest zapamiętać mnemoniczny „czas naprawy”.
ExifTool
Tylko dla kompletności, choć ja sam zapoznać się z dokumentacją oraz z ExifTool , wykonaj następujące czynności:
(Usuń, -rjeśli nie chcesz rekurencji, a jeśli to zrobisz, możesz również podać listę plików lub znak zastępczy zamiast directoryname.) I bądź ostrożny z tymi cytatami - jeśli używasz tego w systemie Windows, chcesz "zamiast '.
Uwaga: z małymi literami -t(lub bez -T) Exiv2 zmieni także nazwę pliku na nową nazwę na podstawie znacznika czasu, co może być bardzo mylące. Exiv2 również nie wykonuje rekurencji.
Masz rację, jest odwrotnie, ale nieskończenie bardziej przydatna :)
Itai
jhead jest bardzo przydatny do tego - I do wielu innych operacji na plikach jpg. Zachowaj ostrożność podczas jego używania - jest to niezwykle potężne narzędzie, które może siać spustoszenie w przypadku niewłaściwego użycia. Zalecam użycie go w pliku wsadowym, abyś zawsze robił to, co zamierzałeś, i najpierw przetestuj wynik na zestawie plików testowych.
Russell McMahon,
+1, ale przyznałem sobie odpowiedź ;-) Tak, aby inni w przyszłości mogli znaleźć sposób na zrobienie dokładnie tego, o co prosiłem ...
Mawg
@olibre Tak, to będzie działać na Linux / Unix lub Mac.
mattdm
Zauważyłem, że niektóre przeglądarki zdjęć wyświetlają obrazy (diaporama) tylko w kolejności nazw plików (nie w czasie modyfikacji plików). Wreszcie używam znacznika czasu EXIF, aby ustawić czas pliku ORAZ przedrostek nazwy pliku. Używam polecenia find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +. Objaśnienia: -name '[0-9][0-9]*'aby zapobiec ponownej zmianie nazwy plików, które mają już prefiks daty ( '[0-9][0-9]aby uwzględnić lata i miesiące). -iname '*.jp*g'można pominąć, ponieważ jheadprzetwarza tylko obsługiwane pliki (tylko pliki JPEG). %fzachować oryginalną nazwę pliku.
olibre
12
Irfanview i jhead zrobią, co chcesz.
Oba za darmo.
Linki do obu poniżej.
jhead jest sterowany z wiersza poleceń lub może być wywoływany przez inne procesy.
Wersja Irfanview może być wywoływana z wiersza poleceń lub wewnętrznie w pakiecie lub na zasadzie plik po pliku.
Przykład poniżej dla Irfanview pokazuje, jak kopiować w obu kierunkach:
Irfanview
Pozwala na zmiany GUI lub wiersza poleceń przesyłania wsadowego lub według daty / godziny pliku z EXIF do specyfikacji pliku lub odwrotnie (bez innych zmian pliku, jeśli jest to pożądane).
Źródło: Bezpłatnie z www.irfanview.com
Jest to o wiele łatwiejsze i szybsze w praktyce po zaledwie kilku zastosowaniach, niż pokazują poniższe instrukcje. np.
Aby przekonwertować datę / czas pojedynczego pliku na wartości EXIF, należy
Shift-J, Alt-F, Enter.
Zrozumienie, dlaczego pierwsze kilka razy trwa dłużej.
Aby to zrobić, dla partii plików SOUNDS kompleks do nauki -
Wymaga: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(Lub: T, Ctrl-A, Shift-J, Enter) (daje mniej opcji),
ALE po niewielkim użyciu jest prawie całkowicie intuicyjny - menu prowadzą początkowo do momentu utworzenia ścieżki mózgowej.
GUI na plik
Options, JPG lossless rotation (Shift-J)
Select "Apply original EXIF date/time to new file"
Consider also selecting other options
GUI, jeden lub wiele plików (w widoku miniatur)
Open Thumbnails view ('File, Thumbnails' or 'T' from Window view
Select images to change EXIF data of
usually all in folder -> Ctrl-A
Then: File, 'JPG lossless operations'
(1) Change EXIF date/time
"Change EXIF date/time"
Options are offered to set Date/time to specific setting
or to move all times back/forwards by selected DHMS amount
calculator provided to check result is as desired.
(2) Transfer EXIF date / time to file saved date time
"Lossless rotation with selected files" [Shift-J]
then, as for single file version above
Select "Apply original EXIF date/time to new file"
Z wiersza poleceń - jest to „obracanie” bez akcji, z wyjątkiem kopiowania daty / godziny z EXIF do daty i godziny pliku. W razie potrzeby można również osiągnąć odwrotność. :
Używam pliku wsadowego jak poniżej. Możliwe są inne opcje:
jhead -ft % 1 .jpg
Mówią: Rzeczy, które jhead może modyfikować w pliku JPEG exif
Obrazy w górę w prawo zgodnie ze znacznikiem obrotu za pomocą jpegtran
Ustaw lub względnie dostosuj wewnętrzne znaczniki czasu exif
Napraw przesunięcia daty / godziny w dużych partiach
obrazów
Zmień nazwę plików lub znaczników daty zgodnie ze znacznikiem czasu exif Przenieś nagłówki exif między obrazami Zastąp miniatury wewnątrz nagłówków Exif
Edytuj jpeg komentarze (ale nie komentarze Exif)
Usuń sekcje exif lub komentarze z obrazów JPEG
Utwórz nowy minimalny nagłówek exif zawierający datę i miniaturę
_________________________
Uwaga: sierpień 2016 r .: „Użytkownik anonimowy” poprawnie zasugerował, że jedna sugerowana konwersja nie działała tak, jak powiedziałem. Znacznie dodałem do omawianego obszaru.
Sierpień 2016: „Użytkownik anonimowy” poprawnie zasugerował, że jedna sugerowana konwersja nie działała, jak powiedziałem. Znacznie dodałem do omawianego obszaru.
Russell McMahon
Co z surowymi plikami?
Michael C
@MichaelClark Cieszę się, że zadałeś to pytanie :-). Zauważam, że wydaje się, że wszyscy adresowaliśmy pliki JPG, a nie RAW. Wyobrażam sobie, że byłbyś jedną z bardziej prawdopodobnych osób, które zapytałyby, jak to zrobić z plikami RAW :-).
Russell McMahon,
4
Kolejne narzędzie EXIF z wiersza poleceń, które może zmienić datę ostatniej modyfikacji plików w celu dopasowania do czasu zrobienia zdjęcia, na podstawie metady EXIF w pliku obrazu JPEG:
exiv2 -T rename somedir/foo*.jpg
Nie martw się, argument polecenia renamejest w porządku i nie szkodzi.
Tyle tylko, że akcja zmiany nazwy pliku jest niewłaściwie używana do tworzenia tylko efektu ubocznego zmiany znacznika czasu.
Chociaż naprawdę nie polecam polegać na dacie / godzinie pliku, jeśli chodzi o twoje zdjęcia, możesz użyć bezpłatnego narzędzia o nazwie EXIF Date Changer, aby wsadowo ustawić daty plików wszystkich twoich obrazów JPG. Ustawienie domyślne ustawi zarówno datę utworzenia, jak i datę modyfikacji daty pliku na zrobione zdjęcie.
Powodem, dla którego nie zalecam tego, jest data pliku, którą można łatwo zaktualizować. W przypadku edycji obrazu data modyfikacji jest aktualizowana. Jeśli skopiujesz obraz, otrzyma on nową datę.
O wiele lepszym rozwiązaniem jest zmiana nazwy plików w celu uwzględnienia daty / godziny w samej nazwie pliku. To wciąż pozwala na łatwe sortowanie i działa dobrze z obrazami przechowywanymi na iPhone'ach / Dropbox.
Ze strony SourceForge: „Dostarczone przez: killdaclick”. Reklamowanie własnych produktów nie jest tutaj zabronione, ale powinieneś jasno określić swoją przynależność.
Philip Kendall,
@PhilipKendall gotowe :)
killdaclick
1
FastStone Image Viewer może to zrobić (używana wersja 4.9) - wystarczy wybrać pliki w okienku miniatur, kliknąć je prawym przyciskiem myszy, wybrać „Narzędzia”> „Zmień znacznik czasu” - wtedy można użyć danych EXIF (z modyfikacjami lub bez) lub użyć w całości niestandardowa stała ręczna data / godzina.
Łał! Nie wiedziałem tego. Używam ich narzędzia do przechwytywania ekranu od lat i nie znalazłem nic lepszego. Nie możesz pobrać ostatniej darmowej wersji tutaj ; Nie potrzebuję żadnych funkcji płatnych. Korzystałem także z ich przeglądarki w przeszłości, ale nie wiedziałem, że to może zrobić.
Mawg
1
Advance Renamer to najlepsze przyjazne dla użytkownika oprogramowanie, które jest bardzo proste.
Przeciągnij i upuść wszystkie zdjęcia do AR (Advance Renamer)
Kliknij (w lewym górnym rogu) Dodaj metodę -> Nowa nazwa
Kliknij jeden z dolnych środkowych obrazów, a zobaczysz przycisk ExifTool, który pokazuje wszystkie metadane, po prostu kliknij atrybut, a otrzymasz tag W tym przypadku jest to<ExifTool:DateTimeOriginal>
Skopiuj i wklej ten w New Name tekstowym można dodać coś przed lub po jak IMG_<ExifTool:DateTimeOriginal>, DSC_<ExifTool:DateTimeOriginal>etc.
Kliknij Start partii (w prawym górnym rogu ). To spowoduje zmianę nazwy wszystkich plików z datą. Np. 2017_12_01 19_10_12
Zawsze dobrze jest mieć oryginalną datę w nazwie pliku, ponieważ atrybuty mogą zostać utracone, ale nazwy plików nie.
Ponownie przeciągnij wszystkie pliki o zmienionych nazwach do AR
Kliknij Nowa metoda -> Znacznik czasu
Zaznacz wszystkie 3 pola wyboru Utwórz, zmodyfikuj, uzyskaj dostęp (dostęp czasami może nie działać, po prostu usuń zaznaczenie, jeśli tak się stanie)
Wybierz FileName Pattern
i wklej<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
Dodaję przycisk w zakładce „Opcje” na Wstążce. Stamtąd możesz wybrać opcję aktualizacji statusu pliku w czasie.
Nawiasem mówiąc, aby uniknąć użycia maski, dodałem również nowy atrybut maski:% F. Jeśli użyjesz tej prostej maski, nazwa pliku zostanie zmieniona ... z własną nazwą ... Więc nie musisz zmieniać nazwy pliku, dla którego chcesz zaktualizować atrybuty czasu pliku ...
To stare pytanie i wygląda na to, że istnieje kilka sugestii, które powinny działać dobrze, ale ta, do której doszedłem, aby rozwiązać problem zamawiania plików po aktualizacji telefonu z Androidem, była taka.
Otworzyć okno (po raz pierwszy od wieków)
Zainstaluj ExtFS lub coś, co potrafi czytać partycje ext4
Skopiuj zdjęcia na dysk twardy z Micro SD
Użyj zmieniacza atrybutów ( https://www.petges.lu/home/ ), aby ustawić daty utworzenia / modyfikacji na datę EXIF
Odpowiedzi:
Jest to odwrotność Czy istnieje oprogramowanie, które ustawia daty EXIF na podstawie daty modyfikacji pliku? i jestem pewien, że wszystkie wymienione tam programy będą miały zastosowanie.
ćpun
Spośród nich, dla tego bardzo prostego zadania, główka jest moją sugestią. Na przykład polecenie
ustawia wiązkę plików, tak aby znacznik czasu pliku pasował do EXIF.
jhead with
find
, do przechodzenia przez podkatalogiAby wykonać rekursję do podkatalogów, możesz połączyć ją z
find
poleceniem dostępnym w Linux / Unix / Mac (lub Cygwin dla Windows):Lub znaleźć każdego z
*.JPG *.JPEG *.jpg *.jpeg ...
was, można również spróbowaćMożesz także użyć polecenia find, aby wyświetlić wszystkie pliki, które zostaną ... znalezione, bez wykonywania innych poleceń (takich jak jhead):
Inne narzędzia
Inne narzędzia, takie jak ExifTool lub Exiv2, są znacznie bardziej wydajne, ale za cenę złożoności. Nigdy nie pamiętam od razu odpowiednich opcji, aby cokolwiek z nimi zrobić i za każdym razem muszę przeglądać dokumentację, ale
jhead -ft
łatwo jest zapamiętać mnemoniczny „czas naprawy”.ExifTool
Tylko dla kompletności, choć ja sam zapoznać się z dokumentacją oraz z ExifTool , wykonaj następujące czynności:
(Usuń,
-r
jeśli nie chcesz rekurencji, a jeśli to zrobisz, możesz również podać listę plików lub znak zastępczy zamiastdirectoryname
.) I bądź ostrożny z tymi cytatami - jeśli używasz tego w systemie Windows, chcesz"
zamiast'
.Exiv2
Z Exiv2 :
Uwaga: z małymi literami
-t
(lub bez-T
) Exiv2 zmieni także nazwę pliku na nową nazwę na podstawie znacznika czasu, co może być bardzo mylące. Exiv2 również nie wykonuje rekurencji.źródło
find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +
. Objaśnienia:-name '[0-9][0-9]*'
aby zapobiec ponownej zmianie nazwy plików, które mają już prefiks daty ('[0-9][0-9]
aby uwzględnić lata i miesiące).-iname '*.jp*g'
można pominąć, ponieważjhead
przetwarza tylko obsługiwane pliki (tylko pliki JPEG).%f
zachować oryginalną nazwę pliku.Irfanview i jhead zrobią, co chcesz.
Oba za darmo.
Linki do obu poniżej.
jhead jest sterowany z wiersza poleceń lub może być wywoływany przez inne procesy.
Wersja Irfanview może być wywoływana z wiersza poleceń lub wewnętrznie w pakiecie lub na zasadzie plik po pliku.
Przykład poniżej dla Irfanview pokazuje, jak kopiować w obu kierunkach:
Irfanview
Pozwala na zmiany GUI lub wiersza poleceń przesyłania wsadowego lub według daty / godziny pliku z EXIF do specyfikacji pliku lub odwrotnie (bez innych zmian pliku, jeśli jest to pożądane).
Źródło: Bezpłatnie z www.irfanview.com
Jest to o wiele łatwiejsze i szybsze w praktyce po zaledwie kilku zastosowaniach, niż pokazują poniższe instrukcje. np.
Aby przekonwertować datę / czas pojedynczego pliku na wartości EXIF, należy
Shift-J, Alt-F, Enter.
Zrozumienie, dlaczego pierwsze kilka razy trwa dłużej.
Aby to zrobić, dla partii plików SOUNDS kompleks do nauki -
Wymaga: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(Lub: T, Ctrl-A, Shift-J, Enter) (daje mniej opcji),
ALE po niewielkim użyciu jest prawie całkowicie intuicyjny - menu prowadzą początkowo do momentu utworzenia ścieżki mózgowej.
GUI na plik
GUI, jeden lub wiele plików (w widoku miniatur)
Z wiersza poleceń - jest to „obracanie” bez akcji, z wyjątkiem kopiowania daty / godziny z EXIF do daty i godziny pliku. W razie potrzeby można również osiągnąć odwrotność. :
i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0,0)
Aby skopiować datę / godzinę w przeciwnym kierunku ((specyfikacja pliku do EXIF),
użyj jak wyżej z (0,0,1,0,0,0,0,0,0)
ćpun
zrobi wszystko, co możesz sobie wyobrazić przy pomocy plików JPEG
Źródło: Bezpłatnie z http://www.sentex.net/~mwandel/jhead/
Używam pliku wsadowego jak poniżej. Możliwe są inne opcje:
Mówią: Rzeczy, które jhead może modyfikować w pliku JPEG exif
Ustaw lub względnie dostosuj wewnętrzne znaczniki czasu exif
Napraw przesunięcia daty / godziny w dużych partiach obrazów Zmień
nazwę plików lub znaczników daty zgodnie ze znacznikiem czasu
exif Przenieś nagłówki exif między obrazami
Zastąp miniatury wewnątrz nagłówków Exif
Edytuj jpeg komentarze (ale nie komentarze Exif)
Usuń sekcje exif lub komentarze z obrazów JPEG
Utwórz nowy minimalny nagłówek exif zawierający datę i miniaturę
_________________________
Uwaga: sierpień 2016 r .: „Użytkownik anonimowy” poprawnie zasugerował, że jedna sugerowana konwersja nie działała tak, jak powiedziałem. Znacznie dodałem do omawianego obszaru.
źródło
Kolejne narzędzie EXIF z wiersza poleceń, które może zmienić datę ostatniej modyfikacji plików w celu dopasowania do czasu zrobienia zdjęcia, na podstawie metady EXIF w pliku obrazu JPEG:
Nie martw się, argument polecenia
rename
jest w porządku i nie szkodzi.Tyle tylko, że akcja zmiany nazwy pliku jest niewłaściwie używana do tworzenia tylko efektu ubocznego zmiany znacznika czasu.
źródło
Chociaż naprawdę nie polecam polegać na dacie / godzinie pliku, jeśli chodzi o twoje zdjęcia, możesz użyć bezpłatnego narzędzia o nazwie EXIF Date Changer, aby wsadowo ustawić daty plików wszystkich twoich obrazów JPG. Ustawienie domyślne ustawi zarówno datę utworzenia, jak i datę modyfikacji daty pliku na zrobione zdjęcie.
Powodem, dla którego nie zalecam tego, jest data pliku, którą można łatwo zaktualizować. W przypadku edycji obrazu data modyfikacji jest aktualizowana. Jeśli skopiujesz obraz, otrzyma on nową datę.
O wiele lepszym rozwiązaniem jest zmiana nazwy plików w celu uwzględnienia daty / godziny w samej nazwie pliku. To wciąż pozwala na łatwe sortowanie i działa dobrze z obrazami przechowywanymi na iPhone'ach / Dropbox.
źródło
Sprawdź moje nowe darmowe oprogramowanie „Photo Date Organizer”: http://photodateorganizer.sourceforge.net/
źródło
FastStone Image Viewer może to zrobić (używana wersja 4.9) - wystarczy wybrać pliki w okienku miniatur, kliknąć je prawym przyciskiem myszy, wybrać „Narzędzia”> „Zmień znacznik czasu” - wtedy można użyć danych EXIF (z modyfikacjami lub bez) lub użyć w całości niestandardowa stała ręczna data / godzina.
źródło
Advance Renamer to najlepsze przyjazne dla użytkownika oprogramowanie, które jest bardzo proste.
Przeciągnij i upuść wszystkie zdjęcia do AR (Advance Renamer)
Kliknij (w lewym górnym rogu) Dodaj metodę -> Nowa nazwa
Kliknij jeden z dolnych środkowych obrazów, a zobaczysz przycisk ExifTool, który pokazuje wszystkie metadane, po prostu kliknij atrybut, a otrzymasz tag W tym przypadku jest to
<ExifTool:DateTimeOriginal>
Skopiuj i wklej ten w New Name tekstowym można dodać coś przed lub po jak
IMG_<ExifTool:DateTimeOriginal>
,DSC_<ExifTool:DateTimeOriginal>
etc.Kliknij Start partii (w prawym górnym rogu ). To spowoduje zmianę nazwy wszystkich plików z datą. Np. 2017_12_01 19_10_12 Zawsze dobrze jest mieć oryginalną datę w nazwie pliku, ponieważ atrybuty mogą zostać utracone, ale nazwy plików nie.
<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
źródło
Zasugerowałem to autorowi PhotoRenamer, który odpowiedział ...
źródło
To stare pytanie i wygląda na to, że istnieje kilka sugestii, które powinny działać dobrze, ale ta, do której doszedłem, aby rozwiązać problem zamawiania plików po aktualizacji telefonu z Androidem, była taka.
Może to komuś się przyda.
źródło
Drugim darmowym programem jest Google Picasa - możesz łatwo grupowo zmieniać datę i godzinę wszystkich zdjęć:
Niezły artykuł na ten temat: Jak zmienić datę zdjęcia w Picasie na datę zrobienia zdjęcia
źródło