Script om foto's te kopiëren volgens datum

Hallo,

Ik heb Adobe volledig de rug toegekeerd en gebruik nu Picktorial om mijn foto’s te bewerken. Dit programma heeft spijtig genoeg nog geen importfunctie zoals Lightroom.

Ik probeer de importfunctie over te nemen door fotolader, automator en een script. Het script dat ik gevonden heb op internet en wat heb aangepast naar mijn situatie, doet voor een stuk wat het moet doen. Het leest de gegevens van het bestand (datum) en maakt dan de mappen aan volgens het formaat jaar-maand-dag. Wat het script echter niet doet, het staat in de code, is het verplaatsen of kopiëren van de foto’s naar de nieuwe mappen.

Hebben jullie soms een idee wat er fout loopt en kunnen jullie mij eventueel op weg helpen zodat het script doet wat het moet doen ?

Script
#!/bin/bash
for image in ls -1; do export date=mdls $image | grep ContentCreationDate | awk '{print $3}';
if [ -d ./$date/ ]
then
cp $image ./$date/
else
mkdir ./$date/ && cp $image ./$date/
fi;
done
exit

Avast bedankt voor de antwoorden.

Achouffe

*.pdf aanpassen naar de extensie die je zo wil kopiëren, en let op bij het grep commando (je krijgt anders twee waardes terug) dat is inclusief een spatie …

#!/bin/bash
for image in $(ls *.pdf) 
do export date=$(mdls $image | grep "ContentCreationDate " | awk '{print $3}')
echo "datum" $date 
echo  "naam bestand" $image
 if [ -d ./$date/ ]
 	then
 	echo "Bestaat al"
	cp $image ./$date/$image
 else
	echo "Bestond nog niet" 
 	mkdir ./$date
	cp $image ./$date/$image
 fi 
done

prenkema,

Dit script werkt perfect ! Bedankt voor je tijd en om de oplossing te geven.

Achouffe

Even terug deze draad oppikken …

Om zoveel mogelijk te automatiseren heb ik het script dat aangepast wed door prenkema nog wat verder aangepast. Wanneer dit script in de terminal wordt uitgevoerd dan werkt het perfect. Via automator wil het niet lukken en kan niet begrijpen waarom of wat ik fout doe …

#!/bin/bash 

cd /Volumes/FOTO/RAW/FUJIFILM-XT1

year=$(date +%Y) 


if [ -d ./$year/ ] 
    then
        echo "Folder " $year " bestaat al ... " 
    else 
        echo "Folder " $year " bestaat niet ... maken"  
        mkdir ./$year 
fi

for image in $(ls *.RAF) 
    do export date=$(mdls $image | grep "ContentCreationDate " | awk '{print $3}') 
        echo "datum" $date 
        echo "naam bestand" $image 

    if [ -d ./$year/$date/ ]
        then 
            echo "Bestaat al" 
            cp $image ./$year/$date/$image 
            rm $image
        else 
            echo "Bestond nog niet" 
            mkdir ./$year/$date 
            cp $image ./$year/$date/$image
            rm $image
    fi      


done

In Automator heb ik gekozen voor Programma zodat Fotolader de bestanden direct in de juiste map kan plaatsen en de volgende taken geselecteerd

Kopier Finder-onderdelen (Folder FUJIFILM-XT1)
Haal mapinhoud op
Voer shellscript uit (invoer wordt doorgegeven via stdin)

Waneer de taken via Automator worden uitgevoerd dan wordt er in de map bv. 2017 geen folder aangemaakt bv. 2017-12-31 maar worden de foto’s gekopiëerd naar de map bv. 2017.

Wie kan me helpen ?

Alvast bedankt.

Christof