Jeg vil spesifisere en katalog og få programvaren til å finne alle bildene i katalogen og underkatalogene, og hvis de inneholder EXIF-dato / tid, det setter tidsstempelet for filsystemet slik at det samsvarer med EXIF.

Kommentarer

  • Selvfølgelig, i dag, vil jeg stille dette spørsmålet på programvareanbefalinger – det har noen gode svar her, skjønt

Svar

Dette er det omvendte av Er det noen programvare som vil sette EXIF-datoene basert på filen ‘ s endringsdato? , og jeg er sikker på at alle programmene som er oppført der, vil gjelde.

jhead

Av disse, for denne veldig enkle oppgaven, jhead er mitt forslag. For eksempel angir kommandoen

jhead -ft *.jpg 

en haug med filer slik at filens tidsstempel samsvarer med EXIF.

jhead med find, for å gå gjennom underkataloger

For å utføre rekursjon i underkataloger, kan du kombinere den med kommandoen find tilgjengelig på Linux / Unix / Mac (eller Cygwin for Windows):

find . -name "*.jpg" -exec jhead -ft {} + 

Eller for å finne noen av *.JPG *.JPEG *.jpg *.jpeg ... du kan også prøve

find . -iname "*.jp*g" -exec jhead -ft {} + 

Du kan også bruke finne for å bare vise alle filene som ville være. .. funnet, uten å utføre noen annen kommando (som jhead):

find . -iname "*.jp*g" 

Andre verktøy

Andre verktøy som ExifTool eller Exiv2 er mye mer dyktige, men til pris av kompleksitet. Jeg kan aldri huske på rett måte de riktige alternativene for å gjøre hva som helst med dem og må se på dokumentasjonen hver gang, men jhead -ft er lett å huske med mnemonic «fix time».

ExifTool

Bare for fullstendighet så jeg på dokumentasjonen, og med ExifTool , gjør dette:

exiftool -r "-DateTimeOriginal>FileModifyDate" directoryname 

(Fjern -r hvis du ikke gjør det «t ønsker rekursjon, og hvis du gjør det, kan du også gi en liste over filer eller et jokertegn i stedet for directoryname.) Og vær forsiktig med disse sitatene – hvis du kjører dette på Windows vil du ha " i stedet for ".

Exiv2

With Exiv2 :

exiv2 -T rename *.jpg 

Vær oppmerksom på at med små bokstaver -t (eller uten -T) Exiv2 vil også gi nytt navn til filen til et nytt navn basert på tidsstempelet, som kan være veldig forvirrende. Exiv2 gjør heller ikke rekursjon.

Kommentarer

  • Du har rett, dette er det motsatte, men uendelig mer nyttig 🙂
  • jhead er veldig nyttig for dette – OG for mange andre manipulasjoner av jpg-filer. Vær forsiktig når du bruker den – det er et ekstremt kraftig verktøy som kan forårsake en viss ødeleggelse hvis det blir misbrukt. Jeg anbefaler å bruke den i en batchfil slik at du alltid gjør det du har tenkt, og tester resultatet på et testfilssett først.
  • +1 men jeg tildelte meg svaret 😉 Bare så andre i fremtiden kan finne en måte å gjøre akkurat det jeg spurte …
  • @olibre Ja, det vil fungere på Linux / Unix eller Mac.
  • Jeg har lagt merke til at noen bildesurfere er til stede (diaporama ) bilder bare på filnavnrekkefølge (ikke på filendringstid). Til slutt bruker jeg EXIF-tidsstempelet for å stille filtiden OG for å prefikse filnavnet. Jeg bruker kommando find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +. Forklaringer: -name '[0-9][0-9]*' for å forhindre å gi nytt navn til filer som allerede har et dataprefiks ('[0-9][0-9] for å ta hensyn til år og måneder). -iname '*.jp*g' kan hoppes over fordi jhead bare behandler støttede filer (bare JPEG-filer). %f for å beholde det opprinnelige filnavnet.

Svar

Irfanview og jhead vil begge gjøre det du vil.
Begge gratis.
Lenker til begge nedenfor.
jhead er kommandolinjedrevet eller kan kalles av andre prosesser.
Irfanview-versjonen kan påkalles fra en kommandolinje eller internt i en batch eller på en fil etter filbasis.

Eksempel nedenfor for Irfanview viser hvordan du kopierer i begge retninger:


Irfanview

Gjør det mulig å endre GUI eller kommandolinje i batch eller per filoverføring dato / klokkeslett fra EXIF til filspesifikasjon eller omvendt (uten annen fil endres hvis ønskelig).

Kilde: Gratis fra www.irfanview.com

Dette er MYE enklere og raskere i praksis etter bare noen få bruksområder enn instruksjonene nedenfor får det til å vises.

For å konvertere en enkelt fils dato / klokkeslett til EXIF-verdier kreves
Shift-J, Alt-F, Enter.
Å se hvorfor de første gangene tar lengre tid.

For å gjøre dette for en gruppe filer SOUNDS komplekse å lære –
Det krever: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(Eller: T, Ctrl- A, Shift-J, Enter) (gir færre alternativer)
MEN det er nesten helt intuitivt etter litt bruk – menyer veileder deg inntil hjernebanen dannes.

GUI, per fil

 Options, JPG lossless rotation (Shift-J) Select "Apply original EXIF date/time to new file" Consider also selecting other options 

skriv inn bildebeskrivelse her

GUI, en eller flere filer ( via miniatyrvisning)

ADVARSEL: ( Lagt til 2020!)
Det er blitt påpekt at valg av feil alternativer kan få et uønsket resultat – f.eks. Alle destinasjonsfiler satt til en valgt dato. og tid. Å gjøre det riktig er «ikke for vanskelig» – men IKKE se på de forskjellige avmerkingsboksene og bestem hvilken som passer det du ønsker å gjøre.

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" 

skriv inn bildebeskrivelse her

Fra kommandolinjen – dette er en «roter» med INGEN handling bortsett fra å kopiere dato / tid fra EXIF til fildato og -tid. Det motsatte kan også oppnås hvis ønskelig. :

  • i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)

  • For å kopiere dato / klokkeslett i motsatt retning ((filespec til EXIF)
    bruk som ovenfor med (0,0,1,0,0,0,0,0)


jhead

vil gjøre omtrent alt du vil kan forestille seg med jpeg-filer

Kilde: Gratis fra http://www.sentex.net/~mwandel/jhead/

I bruk en batchfil som nedenfor. Andre alternativer er mulige:

  • jhead -ft % 1 .jpg

De sier: Ting jhead kan modifisere i en exif jpeg-fil

  • Bilder oppe til høyre i henhold til rotasjonsmerke ved hjelp av jpegtran
    Angi eller relativ justere interne exif-tidsstempler
    Fix dato / tidsforskyvning i store batcher av bilder
    Endre navn på eller stempelfiler etter exif tidsstempel
    Overfør exif-overskrifter mellom bilder
    Erstatt miniatyrbilder i Exif-overskrifter
    Rediger jpeg-kommentarer (men ikke Exif-kommentarer)
    Slett exif- eller kommentarseksjoner fra jpeg-bilder
    Opprett ny minimal exif-topptekst med dato og miniatyrbilde

_________________________

Merk: August 2016: » En anonym bruker «foreslo riktig at en foreslått konvertering ikke fungerte som jeg sa. Jeg har lagt mye til det aktuelle området.

Kommentarer

  • August 2016: » Anonym bruker » foreslo riktig at en foreslått konvertering ikke fungerte som sagt. Jeg ‘ har lagt mye til det aktuelle området.
  • Hva med råfiler?
  • @MichaelClark I ‘ er glad for at du stilte det spørsmålet :-). Jeg bemerker at vi alle ser ut til å ha adressert JPG filer og ikke RAW. Jeg ‘ forestiller meg at du vil være en av de mer sannsynlige at folk spør om hvordan du gjør dette med RAW-filer :-).
  • PAS PÅ: Trinn 1 under » GUI, en eller flere filer (via miniatyrvisning) » er misvisende: den setter alle valgte filer til samme dato og klokkeslett (som ikke er det som ble spurt i spørsmålet). Bare trinn 2 fører til det etterspurte resultatet.
  • @Christoph Takk. Jeg la til en generell advarsel ved starten av det avsnittet.

Svar

Bare et nytt EXIF-verktøy for kommandolinjen som kan endre den sist endrede datoen for filer for å matche tiden for å ta bildet, basert på EXIF-metaden i JPEG-bildefilen:

 exiv2 -T rename somedir/foo*.jpg 

Ingen bekymringer, kommandoargumentet rename er ok der og gjør ikke noe vondt.
Det er bare at filens omdøpshandling blir misbrukt for bare å skape bivirkningen ved å endre tidsstempelet.

Svar

Selv om jeg virkelig ikke anbefaler å stole på filens dato / klokkeslett når det gjelder bildene dine, kan du bruke et gratis verktøy kalt EXIF Date Changer for å angi fildatoer for alle JPG-bildene dine.Standardinnstillingen vil sette både datoen som ble opprettet og datoen endret fildato til det bildet som ble tatt.

Årsaken til at jeg ikke anbefaler at dette er fildatoen, oppdateres enkelt. Hvis du redigerer bildet, modifisert dato blir oppdatert. Hvis du kopierer bildet, får den en ny dato.

En mye bedre løsning er å gi nytt navn til filene for å inkludere dato / klokkeslett i selve filnavnet. Dette tillater fortsatt enkel sortering og fungerer godt med bilder som er lagret på iPhones / dropbox.

EXIF Date Changer - Sett fildatoer til dato tatt

Svar

Ta en titt på den nye gratisprogramvaren min «Photo Date Organizer»: http://photodateorganizer.sourceforge.net/

skriv inn bildebeskrivelse her

Kommentarer

  • Fra SourceForge-siden: » Brakt til deg av: killdaclick «. Annonsering av dine egne produkter er ikke ‘ t forbudt her, men du bør gjøre det klart hva din tilknytning er.
  • @PhilipKendall gjort 🙂

Svar

FastStone Image Viewer kan gjøre dette (versjon 4.9 brukt) – bare velg filene i miniatyrruten, høyreklikk på dem , velg «Verktøy»> «Endre tidsstempel» – så kan du enten bruke EXIF (med eller uten modifikasjoner) data eller bruke helt tilpasset fast manuell dato / tid.

Kommentarer

  • Wow! Det visste jeg ikke, jeg har brukt skjermbildeverktøyet deres i årevis og har ikke funnet noe bedre. Du får ikke den siste gratisversjonen her ; Jeg på ‘ trenger ikke noen av betalingsfunksjonene. Jeg har også brukt seeren deres tidligere, men visste ikke at den kunne gjøre det.

Svar

Advance Renamer er den beste brukervennlige programvaren som er veldig enkel.

  1. Dra og slipp alle bildene til AR (Advance Renamer)

  2. Klikk på (Øverst til venstre) Legg til metode -> Nytt navn

  3. Klikk på et av bildet nederst i midten, du vil se en knapp ExifTool som viser alle metadata, bare klikk på en attributt, og du får taggen. I dette tilfellet er det <ExifTool:DateTimeOriginal>

  4. Kopier dette og lim inn i Nytt navn tekstboks Du kan legge til noe før eller etter som IMG_<ExifTool:DateTimeOriginal>, DSC_<ExifTool:DateTimeOriginal> osv.

  5. Klikk Start batch Høyre) Dette vil gi nytt navn til alle dine filer med datoen F.eks. 2017_12_01 19_10_12 Det er alltid bra å ha den opprinnelige datoen i filnavnet, fordi attributter kan gå tapt, men filnavn blir ikke t.

  6. Igjen dra alle omdøpt filer videre til AR
  7. Klikk Ny metode -> Tidsstempel
  8. Merk av for alle 3 avkrysningsruter Opprett, modifiser, tilgang til (Noen ganger kan det hende at det ikke fungerer, fjern bare merket hvis det skjer)
  9. Velg Filnavnmønster og lim <Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
  10. Start batch.
  11. Du er god. Oppdrag oppnådd

Svar

Jeg hadde fullstendig rote med fildatoer i biblioteket mitt, men var ikke fornøyd med noen av verktøyene. Noen støtter ingen katalogrekursjon, noen kan ikke endre noen Windows-spesifikke tidsstempler, noen er vanskelige å bruke.

Jeg laget en ny kommandolinjeverktøy for én oppgave – behandle alt rekursivt filer i gitt katalog for å trekke ut EXIF-dato og angi fildato til den.

Verktøyet er plattform.

Se ExifDate2FS

Svar

Dette er et gammelt spørsmål, og det ser ut til at det er noen forslag som skal fungere bra, men den jeg kom til for å sortere et filbestillingsproblem etter en Android-telefonoppgradering var dette.

  • Sving opp Windows (for første gang i evigheter)
  • Installer ExtFS eller noe som kan lese ext4-partisjoner
  • Kopier bilder til harddisken fra Micro SD
  • Bruk attributtveksler ( https://www.petges.lu/home/ ) for å angi opprettede / modifiserte datoer til EXIF-datoen
  • Whack-kort tilbake i telefonen
  • Kopier bilder tilbake til telefonen via MTP

Kanskje dette vil være nyttig for noen.

Svar

Jeg meldte meg på StackExchange bare så jeg kunne takke OP for å ha lagt ut dette, og legge til min arbeidsgruppe d bc noen av kommandoene her fungerte ikke for meg. Beklager, jeg skal snakke om prosessen min.

Jeg er midt i en «La oss endelig rydde opp i bildearkivene», siden kampen er ekte, spesielt siden iCloud og Google Photos tar dem fra enheten din og filadministrasjon har lite å gjøre med det i disse dager (og i tidligere tider var gode tjenester og produkter litt uklare og håndhevde en merkelig tilfeldighet og duplisering som krevde reell innsats for å overvinne.)

Jeg har brukt Flickr for å få bilder av maskinen min da stasjonen min var for liten til å holde dem alle. Jeg har brukt Google Photos på en konto siden 2006, så jeg hadde et sett med tilfeldige duplikater og unike bilder der oppe, gjennom forskjellige opplastingsinkarnasjoner.

Når iPhone-fotografering virkelig begynte å gå, kobler jeg til via USB, importerer dem til Dropboxen min, som vil gi dem nytt navn med et dato-tidsstempel 🙌🏻, legger dem i en år / måned-mappe med litt av kurater for å sortere ut skjermbilder og shoppingbilder, og Google Photos så på arkivmappen for å laste dem opp. Dette fungerte bra til iCloud grep bildene fra iPhone og å få dem viste seg å kreve sin egen arbeidsflyt.

Fordi duplisering har alltid vært et STORT problem, et verktøy som heter Gemini II til slutt gjorde dette oppryddings- og arkivprosjektet mulig.

For å konsolidere arkivet mitt på en ekstern stasjon, bestemte jeg meg for last ned alle bilder, men de siste av iCloud (ved hjelp av Image Capture og en USB til telefonen min: ikke 100% pålitelig), Flickr og Google, og rydd det opp.

Slik oppdaget jeg Exif-data: noen bilder (bare noen) var ikke flate filer (se bildet nedenfor) og viste metadataene sine i Finder. De fleste har bare den opprettet-modifiserte datoen synlig. Wh kl. Jeg lastet ned fra Flickr (og noen fra Google) lagret som om de ble opprettet og endret den dagen jeg lastet dem ned. Ikke bra. Noen hadde synlige EXIF-data, men mange / de fleste så flate ut. Jeg hadde slettet duplikater f.Kr. de hadde feil tidsstempel (hvis de var av samme størrelse eller mindre, altså). Å finne ut om Exif-data og tidsstempel førte meg hit.

Dropbox-trinnet har alltid vært viktig for meg fordi IMG _ #### eller DSC #### alltid har vært ubrukelig. Noen spurte meg hvorfor jeg ikke hoppet over Dropbox-trinnet og brukte Automater til å gi dem nytt navn. Automater har ikke den muligheten jeg kan se, men takket være Jhead kommer dette endelig til å fungere.

Jeg fant ut hvordan jeg først skulle installere jhead og deretter kjøre jhead gjennom en katalog rekursivt og oftere enn ikke, EXIF-data var fortsatt i bildefilene. Resultat: jhead endret datoene for filene til det som var i EXIF-dataene. Ingen skuffelser.

Først for Mac-brukere: følg instruksjonene for untar-installasjon fra kommandolinjen (Terminal). Hvis du ikke finner dem for jhead, finner du generelle instruksjoner for untar og sub på stedet for jhead tarball. Dette fungerte, fordi nedlasting og prøve å installere fra kommandolinjen absolutt ikke gjorde det. Neste: sørg for at du installerer Xcode utenfor App Store. Alle Apple-utviklere trenger dette programmet, og det får kommandoer til å fungere som ellers ikke vil «t. Det er nødvendig for» make «og» install make «.

Bruke jhead-verktøyet: Jeg er ikke kjent med å lese Unix-instruksjoner og manualer (man jhead), men er kjent med CLI at hvis noen har dokumentert noe et sted, prøver jeg alternativene deres til noe fungerer.

Dette fungerte ikke for meg:

[katalog jeg vil ha]> finn-navn «* .jpg» -exec jhead -ft {} +

Et annet sted på StackExchange fant jeg en annen rekursiv søkestreng som jeg fikk jobbe for å finne (den hadde et -print-alternativ som ikke virket nødvendig):

 find . | grep ".*[.]jpg" 

men hvis jeg la til jhead-kommandoen, ville jeg få en feilmelding om at den ikke forsto «grep»

Dekonstruere søkeord ved å legge til og ta bort søkealternativer / variabler og prøve å få jhead til være en del av den kommandoen fungerte ikke før jeg prøvde en gammel konvensjon:

jhead -ft ./*/*.jpg 

Dette løp gjennom en hel katalog med lang tid, og den fungerte ikke spytte ut veldig mange feil som «inneholder ingen EXIF tidsstempel» eller «Feil: Tid» 0000: 00: 00 00:00:00 «: kan ikke con vert til Unix tid «

Da jeg så, var det bare et mindretall av tidsstemplene som ble lastet ned i går. Så jeg testet dette på de andre 10 mappene med filer jeg hadde i mappen «duplikater». Ting datert 2020 ble tilbakeført til 2004, 2013, 2012. Jeg lærte at hvis du går gjennom samme katalog to ganger, får du ikke utgang en gang til.

Så brukte jeg jhead til å gi nytt navn til filene mine i henhold til tidsstempelkonvensjonen. Det fungerte som en sjarm. Hvis det opprinnelige filnavnet inneholdt betydning for deg og du vil beholde det, må du sørge for å inkludere dette i den valgte datostempelstrengen:

" "%f … *.jpg 

Jeg synes det er frustrerende at Finder er inkonsekvent med å vise denne informasjonen når den kan. Nedenfor er et eksempel på en fil som Finder viser fullstendig informasjon for (uvanlig). Bilde av Mac OS Finder-informasjon om EXIF-bilder, komplett

Kommentarer

  • Hei, velkommen til Photo-SE. Disse stakkbørsene er Q & A-nettsteder, hvor hvert svar prøver å svare direkte på spørsmålet. De er ikke som mer typiske diskusjonsfora, som ofte er trådet, og innlegg er svar på hverandre like mye som (ofte mer enn) på det opprinnelige innlegget. Som skrevet er svaret ditt veldig diskusjons- og fortellingsorientert om dine behov og prosess for et omdøpningsverktøy, i stedet for å fokusere på å svare på spørsmålet som du blir spurt.
  • På en teknisk detalj, grunnen til at find -name '*.jpg' -exec jhead -ft {} + ikke ‘ t arbeidet, er fordi find trenger en sti for å søke i før uttrykk som -name <...> blir gitt. Jeg ‘ har oppdatert det aksepterte / høyest stemte svaret for å fikse feilen. Prøv dette i stedet: find . -name '*.jpg' -exec jhead -ft {} +
  • Hva får deg til å tro at jeg ikke ‘ t startet kommandoen fra banen til katalogen jeg ønsket? Hvis det ikke fungerte ‘, virket det ikke ‘ t. Jeg fant løsningen min. Det gjorde livet mitt lettere. Så jeg la det ut og ga det videre. Hvis virkelige eksempler som forklarer ting til ikke-programmerere, ikke er ‘, og jeg blir skjelt ut for ikke å være teknisk nok, vant jeg ‘ t kommentar igjen. Bravo.
  • Hvis du skrev det som du skrev, så der ‘ ingen måte kommandoen ville fungere . Dvs. inngangsfeil. Det jeg foreslo (find . -name '*.jpg' -exec jhead -ft {} +) er det du trenger å bruke hvis du vil kjøre det fra banen til katalogen du ønsket. Prikken som stien betyr » lokal katalog «. find krever en startende søkerute. Dette er tilgjengelig fra find ‘ s manpages.
  • Angående å forklare ting for ikke-programmerere: gode svar er absolutt ønsket på Stack Exchange-nettsteder. Forutsatt at de er svar på spørsmålet. Ta deg tid til å se den korte Site Tour for å få en ide om hvordan Stack Exchange-nettsteder er forskjellige fra diskusjonsorienterte internettfora.

Svar

Jeg foreslo det til forfatteren av PhotoRenamer, som svarte …

PhotoRenamer 3.2 http://www.tgmdev.be/applications/photorenamer/photorenamer.php

Jeg legger til en knapp i «Alternativer» -fanen på båndet .. Derfra kan du velge alternativet for å oppdatere filtidens status for filen ..

Forresten, for å unngå bruk av maske, legger jeg også til en ny maskeattributt:% F. Hvis du bruker denne enkle masken, blir filen omdøpt … med eget navn … Så du er ikke forpliktet til å gi nytt navn til filen du vil oppdatere filens tidsattributter for …

Svar

Det andre gratis programmet er Google Picasa – du kan enkelt batch endre dato og tid for alle bildene:

skriv inn bildebeskrivelse her

skriv inn bildebeskrivelse her

Fin artikkel om det: Slik endrer du et fotos dato i Picasa til når bildet ble tatt

Kommentarer

  • Hvordan er denne løsningen arbeider ? OP ønsker å endre datoen fil slik at den tilsvarer EXIF datoen. Det er sannsynligvis ikke det Picasa gjør.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *