5 votes

Comment exporter des albums d'Apple Photos dans des dossiers portant le même nom ?

J'ai plusieurs albums dans Apple Photos. Comment puis-je les exporter en tant que dossiers afin d'obtenir une structure telle que celle présentée ci-dessous ?

All photos
 - album 1
 -- photos of album 1
 - album 2
 -- photos of album 2

Ce que j'ai essayé jusqu'à présent :

  • Exporter des photos avec des noms d'albums : cela crée simplement un grand dossier avec toutes les photos qu'il contient.
  • Créer des dossiers pour chaque album et y glisser-déposer des photos : les métadonnées disparaissent (date, etc.).

6voto

whydoesntwork Points 61

Ok, j'ai passé le web au peigne fin pour trouver une solution similaire car je trouve vraiment que Photos est un mauvais substitut à Aperture.

Il s'agit d'un AppleScript script que j'ai mis au point en me basant sur divers éléments tirés de questions similaires, mais qui ne faisaient pas exactement ce dont j'avais besoin. Je peux vous dire que celui-ci fonctionne avec OS X El Capitan, Apple Photos et mes 70 Go de photos et de vidéos, j'ai ajouté quelques étapes de vérification des erreurs, cela pourrait être fait de manière plus élégante, donc tout retour d'expérience est le bienvenu. La raison pour laquelle il y a une logique de sélection des albums basée sur le nom est que sinon la routine passerait par tous les albums, y compris les albums par défaut, et exporterait tout. J'utilise YYYY comme début de chaque album pour qu'il soit facile de sélectionner ceux que je veux exporter. Vous pouvez peut-être chercher comment vérifier le dossier parent ou une autre logique pour vous assurer que le script itère sur les bons.

--AppleScript to export albums from Apple Photos
--Works with OSX El Capitan, Photos V1.3
--Usage: populate the initial variables with the folder to export to.
--It will create it in the desktop but you can use the alternative way 
--to create it anywhere).
--Also populate the list of prefixes to look for.
--The script searches for them followed by a space, I use YYYY as 
--prefix of all my albums. You may need to add your own logic there.

set theFolderName to "Exported Photos"
set albumprefixlist to {"2014","2013","2010"} -- Example list
set theDestinationRootFolder to POSIX file (POSIX path of file ((path to desktop as text) & theFolderName & ":")) as text
--Alternative:
--set theDestinationRootFolder to "/Users/[username]/Desktop/Exported Photos" as POSIX file as text -- sets the destination folder (use a valid path)  
tell application "Finder"
    if not (exists theDestinationRootFolder) then
        my makeFolder(theDestinationRootFolder)
        log "Created root folder:" & theDestinationRootFolder
    else
        log "Root Folder already exists:" & theDestinationRootFolder
    end if
end tell
tell application "Photos"
    repeat with i in albums
        set tAlbum to get name of i
        set tFolder to (theDestinationRootFolder & tAlbum) as text
        try
            set nYear to text 1 thru ((offset of " " in tAlbum) - 1) of tAlbum as integer
        -- We use try here because in many cases there will be an error converting to integer

        end try
        set tYear to text 1 thru ((offset of " " in tAlbum) - 1) of tAlbum
        if tYear is in albumprefixlist then
            -- This checks the list, other tests can be done
            -- Alternative:if tAlbum begins with "2010" then
            -- Alternative: if nYear < 2010 then
            log "Processing " & tAlbum
            if (count of media items in i) > 0 then
                log "Exporting " & tAlbum & " to: " & tFolder
                tell application "Finder" to set fileExists to exists my POSIX file tFolder
                if not fileExists then
                    my makeFolder(tFolder) -- create a folder named (the name of this album) in dest
                    tell application "Photos"
                        try
                            export (get media items of i) to (tFolder as alias) with using originals
                        on error
                            log "Error with the export command, check the album's content"
                        end try
                    end tell
                else
                    log "Error, folder exists, rather not export there"
                end if
            else
                log "Skipping export as it is an Empty album"
            end if
        else
            log "Skipping album " & tAlbum
        end if
    end repeat
    log "Process completed"
end tell
on makeFolder(tPath)
    do shell script "mkdir -p " & quoted form of (POSIX path of tPath)
end makeFolder

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X