kaks abiskripti fotode haldamiseks
Postitatud: 18.09.2011, 00:54
Mure siis järgmine: oman digikaamerat, millega pildistatu arhiveerin üldjuhul kaamera enda poolt loodud kataloogi hierarhias ja failinimedega. Canoni puhul näeb see välja umbes nii:
DCIM
+-- 100EOS5D
------ IMG_1234.JPG
------ IMG_1235.JPG
------ IMG_1236.JPG
+-- 101EOS5D
------ IMG_1234.JPG
------ IMG_1235.JPG
------ IMG_1236.JPG
millest nähtub, et katalooge eristatakse pidevalt muutuva 3-kohalise arvuga ja failinimed on 4-kohalise identifikaatorarvuga, mis tahes tahtmata mingil hetkel hakkab korduma (s.t arhiivi tekib erinevaid, kuid sama nimega faile). Sooviksin jõuda skriptini, mis DCIM kaustas käivitades teeks järgmist:
loeks for tsüklis kõikide kõikide kataloogide nimed (100EOS5D; 101EOS5D; ...), igaühe puhul liiguks neisse sisse ja nimetaks seal olevad failid ümber kujule 1001234.jpg, ehk kataloogi identifikaatornumber ja faili enda vanast nimet pärit number samuti. Seejärel seoses vajaduse puudumisega, sooviks lahti saada üleliigsetest kaustadest, ehk failid tuleks liigutada ühe kataloogi võrra ülespoole, ehk otse DCIM kausta. Minu seisukohast pole oluline, kuidas lõpptulemus saavutatakse, ehk kas faile nimetatakse ümber ja liigutatakse või luuakse kohe vastava nimemustriga koopia DCIM kausta ja seejärel eemaldatakse vastav kaust (100EOS5D; ...) algfailidega...
Ehk lõppresultaadiks oleks:
DCIM
------ 1001234.jpg
------ 1001235.jpg
------ 1001236.jpg
------ 1011234.jpg
------ 1011235.jpg
------ 1011236.jpg
See oleks probleem A, mis vajab lahendust.
Probleem B on see, et samadest fotodest laborist (traditsiooniline foto traditsioonilisel fotopaberil) väljaprinte tellides sooviksin, et ka väljaprindilt oleks tuvastatav foto tegemise kuupäev ja aeg, kuid... ma ei soovi seda lasta kanda fotole endale, sest see rikub minu arvates perealbumi. Ehk minu sooviks on, et foto kuupäev ja aeg kajastuks foto tagaküljel maatriks printeriga trükitud n.ö backprintil. Vaikimisi trükitakse minu kasutatavas laboris sinna failinimi ja nagu järgi uurisin, tarkvara vähemalt kuupäeva lisamist sinna ei võimalda. Seega ongi ainsaks alternatiiviks saada kuupäev (ja ehk ka kellaaeg) EXIF andmetest failinimesse. Ja seega on mu probleemi teiseks pooleks skript, mis nimetaks ümber kõik kataloogis olevad failid, lisades neile nime algusesse konkreetse faili EXIF andmetes oleva kuupäeva kujul PP.KK.AAAA_TT.MM_endinefailinimi.jpg
DCIM
+-- 100EOS5D
------ IMG_1234.JPG
------ IMG_1235.JPG
------ IMG_1236.JPG
+-- 101EOS5D
------ IMG_1234.JPG
------ IMG_1235.JPG
------ IMG_1236.JPG
millest nähtub, et katalooge eristatakse pidevalt muutuva 3-kohalise arvuga ja failinimed on 4-kohalise identifikaatorarvuga, mis tahes tahtmata mingil hetkel hakkab korduma (s.t arhiivi tekib erinevaid, kuid sama nimega faile). Sooviksin jõuda skriptini, mis DCIM kaustas käivitades teeks järgmist:
loeks for tsüklis kõikide kõikide kataloogide nimed (100EOS5D; 101EOS5D; ...), igaühe puhul liiguks neisse sisse ja nimetaks seal olevad failid ümber kujule 1001234.jpg, ehk kataloogi identifikaatornumber ja faili enda vanast nimet pärit number samuti. Seejärel seoses vajaduse puudumisega, sooviks lahti saada üleliigsetest kaustadest, ehk failid tuleks liigutada ühe kataloogi võrra ülespoole, ehk otse DCIM kausta. Minu seisukohast pole oluline, kuidas lõpptulemus saavutatakse, ehk kas faile nimetatakse ümber ja liigutatakse või luuakse kohe vastava nimemustriga koopia DCIM kausta ja seejärel eemaldatakse vastav kaust (100EOS5D; ...) algfailidega...
Ehk lõppresultaadiks oleks:
DCIM
------ 1001234.jpg
------ 1001235.jpg
------ 1001236.jpg
------ 1011234.jpg
------ 1011235.jpg
------ 1011236.jpg
See oleks probleem A, mis vajab lahendust.
Probleem B on see, et samadest fotodest laborist (traditsiooniline foto traditsioonilisel fotopaberil) väljaprinte tellides sooviksin, et ka väljaprindilt oleks tuvastatav foto tegemise kuupäev ja aeg, kuid... ma ei soovi seda lasta kanda fotole endale, sest see rikub minu arvates perealbumi. Ehk minu sooviks on, et foto kuupäev ja aeg kajastuks foto tagaküljel maatriks printeriga trükitud n.ö backprintil. Vaikimisi trükitakse minu kasutatavas laboris sinna failinimi ja nagu järgi uurisin, tarkvara vähemalt kuupäeva lisamist sinna ei võimalda. Seega ongi ainsaks alternatiiviks saada kuupäev (ja ehk ka kellaaeg) EXIF andmetest failinimesse. Ja seega on mu probleemi teiseks pooleks skript, mis nimetaks ümber kõik kataloogis olevad failid, lisades neile nime algusesse konkreetse faili EXIF andmetes oleva kuupäeva kujul PP.KK.AAAA_TT.MM_endinefailinimi.jpg