| inviato il 05 Novembre 2024 ore 19:09
Ho bisogno di un aiuto per scrivere una riga di istruzione per ExifTool che mi estragga alcuni dati da tutti i jpeg presenti in una cartella, scrivendoli in sequenza in in file txt. i dati sono: Nome del file Autore Titolo Didascalia (Caption) Tra un campo e l'altro un semplice a capo. Dopo Didascalia due a capo. Le mie conoscenze di ExifTool non credo arrivino a tanto... Grazie in anticipo. |
| inviato il 05 Novembre 2024 ore 19:50
Su quale shell? Per la bash (predefinita o comunque già installata su Linux e MacOS, da installare su Windows) puoi usare una riga come quella qui sotto, per altre si potrà sicuramente fare qualcosa di simile ma è meglio che intervenga qualcuno con più familiarità di me... for f in *jpg; do echo $f; exiftool -s3 -author -title -caption "$f"; echo; done > file.txt |
| inviato il 05 Novembre 2024 ore 19:54
Mi sa che si possa anche fare più semplicemente sfruttando le opzioni di exiftool, ci devo dare un'occhiata... |
| inviato il 05 Novembre 2024 ore 20:18
Aspetta che credo di aver risolto. exiftool -r -t -s -S -Creator -Title -Description *.jpg > metadati.txt Grazie! |
| inviato il 05 Novembre 2024 ore 20:33
Puoi anche usare l'opzione -p e qualcosa del genere (se non funziona con le virgolette singole, bisogna usare quelle doppie): exiftool -p '$filename$/$author$/$title$/$caption$/' *jpg > file.txt |
| inviato il 05 Novembre 2024 ore 21:29
Grazie |
| inviato il 05 Novembre 2024 ore 22:13
Me lo segno! |
| inviato il 06 Novembre 2024 ore 7:46
Con la mia istruzione mette un tab fra un campo e l'altro. Ma non entra nelle sottocartelle come invece dovrebbe fare con -r Vabbè. Non è importante. |
| inviato il 06 Novembre 2024 ore 8:40
Prova con \t per inserire il tab col comando di Ironluke... o \\t, se va fatto escape: dipende come è fatto il metodo che poi riversa la stringa sul file. magari ha degli switch specifici la -p per i caratteri speciali di spaziatura. D'altra parte è opzione fatta apposta per generare elenchi rielaborabili a partire da exif di larghe collezioni di immagini. |
| inviato il 06 Novembre 2024 ore 8:55
Al -p gli si può dare anche un file di input per la formattazione! exiftool -p test.fmt a.jpg b.jpg Con test.fmt così fatto ad es. (dal sito manuale): “ # this is a comment line #[HEAD] -- Generated by ExifTool $exifToolVersion -- File: $FileName - $DateTimeOriginal (f/$Aperture, ${ShutterSpeed}s, ISO $EXIF:ISO) #[TAIL] -- end „ |
| inviato il 06 Novembre 2024 ore 8:56
Allora, col \t cilecca. Riprovo altro. Per la ricorsione devi indicare solo la DIRECTORY, e aggiungere il flag -ext per filtrare per estensione. Es: exiftool -p C:\FOTO "$DateTimeOriginal, f/$Aperture\t${ShutterSpeed}s, ISO $EXIF:ISO" -ext jpg |
| inviato il 06 Novembre 2024 ore 9:16
FREGATO col format file. Comando: “ exiftool.exe -p C:\format.fmt C:\FOTO -r -ext jpg > outputlist.txt „ Format file format.fmt: “ #[HEAD] Data e ora___Diaframma___Tempo___ISO $DateTimeOriginal___$Aperture___${ShutterSpeed}___$EXIF:ISO$/ „ Dove al posto di ciascun gruppo di 3 underscore ovviamente ci va una tabulazione singola, qui sul forum la tabulazione non la renderizza e la sostituisce con lo spazio. Il doppio char "$/" in fondo serve a stampare il carattere di "a capo", newline. Risultato:
 |
| inviato il 06 Novembre 2024 ore 9:19
Comunque chiaramente mettere la directory e il flag -ext sistema anche il tuo comando Ale, dovresti arrivare allo stesso risultato (pur non potendo mettere la riga di intestazione, se non facendo un batch script che ne fa echo nel file prima di dare il comando exiftool in append sul medesimo file). |
| inviato il 06 Novembre 2024 ore 9:52
Cioè praticamente diventerebbe: exiftool -t -s -S C:\FOTO -r -ext jpg -Creator -Title -Description > metadati.txt Proverò. Grazie E comunque ExifTool sarà ostico, ma poi quando lo lanci è una scheggia…. |
| inviato il 06 Novembre 2024 ore 10:02
“ E comunque ExifTool sarà ostico, ma poi quando lo lanci è una scheggia…. „ È solo da panico formare il comando giusto, ma quando l'hai trovato sei in paradiso! Nota tecnica aggiuntiva carina: le immagini che non hanno determinati tag generano un messaggio di errore che NON finisce nello standard output (che è l'unico stream che viene redirezionato nel file con il ">"), ma va a console nello stream dello standard error, per cui non ti trovi gli errori nel file txt. Riguardo il comando tuo, l'ho provato ma genera anche una riga per ciascun file con alcuni simboli di "=" (es: ========) a mò di riferimento, seguiti dal path assoluto del file stesso. Temo sia un comportamento standard dell'uso delle opzioni -t e -s in congiunzione con ricorsione e tag di filtro estensione. Non so se c'è modo di dirgli di non stampare questa riga col path, forse si. Altro piccolo fastidio, con la recursive in fondo viene stampato il report di quante cartelle e quanti file ha analizzato (perché suppone che sia un report da fruire a console e quindi serva sapere cosa ha fatto). Credo perciò che l'opzione print col file format a corredo sia molto più versatile e immediata: rende anche il comando più leggibile, separandolo dall'effettiva formattazione delle singole righe di output e dalla scelta dei tag, che viene relegata nel file "fmt". |
Che cosa ne pensi di questo argomento?Vuoi dire la tua? Per partecipare alla discussione iscriviti a JuzaPhoto, è semplice e gratuito!
Non solo: iscrivendoti potrai creare una tua pagina personale, pubblicare foto, ricevere commenti e sfruttare tutte le funzionalità di JuzaPhoto. Con oltre 252000 iscritti, c'è spazio per tutti, dal principiante al professionista. |

Metti la tua pubblicità su JuzaPhoto (info) |