4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)
  • Q:

    Bijdrager
    Achouffe

    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

    • Dit onderwerp is gewijzigd 4 maanden geleden door  Achouffe.

    Bijdrager
    prenkema

    *.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
     
     
    • Deze reactie is gewijzigd 4 maanden geleden door  prenkema. Reden: verduidelijking
    • Deze reactie is gewijzigd 4 maanden geleden door  prenkema.
    • Deze reactie is gewijzigd 4 maanden geleden door  prenkema.

    Bijdrager
    Achouffe

    prenkema,

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

    Achouffe


    Bijdrager
    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

4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.