Tengo una gran biblioteca en la nueva aplicación Fotos en mi máquina Mac OS X Yosemite, quiero saber la forma más fácil de exportar o hacer una copia de seguridad de todas estas fotos y videos en un disco duro externo (formateado para Mac), dado que quiero para usar las fotos y videos en una máquina con Windows 7.
Nota : la opción File -> Export
tardará una eternidad en exportar miles de estos artículos.
Si simplemente desea copiar toda la estructura de Masters en una nueva unidad, entonces
primero busque su archivo de iPhoto o de la biblioteca de fotos. La ubicación predeterminada para ambos es ~/Pictures/
Haga clic con el botón derecho en el archivo de la biblioteca y seleccione Mostrar contenido del paquete; eso expondrá el 'archivo' como la carpeta que realmente es.
La carpeta Masters debería estar justo dentro. Puedes copiar eso en cualquier lugar.
Se ordena en años, luego en meses. No todas las carpetas contenidas se completarán realmente, si alguna vez se eliminaron las fotos antiguas, la estructura del archivo permanece.
Como se señaló en los comentarios, si necesita que la estructura copiada se pueda leer de forma nativa en Windows, entonces debe formatear el disco de destino como ExFAT.
Windows no puede leer discos extendidos de Mac OS de forma nativa y necesitaría soporte de terceros.
Sé que esto es antiguo y está respondido, pero creo que vale la pena compartir el guión que armé después de un día de buscar en Google e intentarlo.
Modifique sus opciones, y este script mueve o copia sus originales a una carpeta llamada 'yyyy-mm-dd Your Album Name'. Por lo tanto, realiza un seguimiento de los títulos de sus álbumes originales y todas las fotos también se ordenan por día.
Modifique para adaptarlo a sus necesidades. Hago esto para poder tener una base de archivos compartidos de fotos originales sincronizadas por Dropbox, y todos los usuarios que comparten pueden tener su propia copia de Photos.app y usarla como base para las fotos de referencia.
Intenta evitar sobrescribir fotos con el mismo nombre, verificando primero si ya existe un archivo no idéntico en la misma ruta.
Además, establece la marca de tiempo de las carpetas recién creadas a la fecha de los eventos que tienen. Es bueno ordenar los eventos por fecha en el buscador o lo que sea, aunque los nombres de las carpetas ya comienzan con la fecha (porque si los copia en otro lugar, las marcas de tiempo pueden cambiar de todos modos).
Es compatible con comillas simples en los nombres de los álbumes. Puede ser compatible con las comillas, pero NO lo he probado.
#!/bin/bash
#### A few options ####
#dryrun=1
dryrun=0
# Choose to duplicate (slow, space eating) or move (space saving, fast if on same drive).
#action=cp
action=mv
# set your paths
# origin:
libr="Photos Library.photoslibrary"
# destination:
destpath="MyProperlyOrganizedFotos"
# no idea why Apple chooses a funny date. Adjust to your time-zone needs
dateoffset=978307200
#### End of options ####
sqllib="${libr}"/Database/apdb/Library.apdb
s="sqlite3 ${sqllib}"
#${s} 'select fileName,imageDate,imagePath,projectUuid from RKMaster'
${s} 'select fileName,imageDate,imagePath,projectUuid from RKMaster' | sed 's,",thisisaquotationmark,g' | while read -r line; do
echo $line
name=`echo "$line" | awk 'BEGIN {FS="|"} {print $1}'`
date=`echo "$line" | awk 'BEGIN {FS="|"} {print $2}'`
path=`echo "$line" | awk 'BEGIN {FS="|"} {print $3}'`
albumid=`echo "$line" | awk 'BEGIN {FS="|"} {print $4}'`
albumname=`${s} "select name from RKFolder where uuid == '${albumid}'" | sed -e 's,/,:,g' -e 's,!,,g' -e 's,",thisisaquotationmark,g'`
realdate=`date -r $(( ${dateoffset} + ${date} )) '+%Y-%m-%d' `
touchdate=`date -r $(( ${dateoffset} + ${date} )) '+%Y%m%d1200' `
# does this file still exist? or did we move it already?
src=`echo ${libr}/Masters/${path} | sed 's/thisisaquotationmark/\\"/g'`
if [ ! -f "${src}" ]; then
continue
fi
# trim:
newpath=`echo $realdate $albumname | sed 's/thisisaquotationmark/\\\\"/g'`
if [ ! $dryrun -eq 1 ]; then
expandednewpath=`echo ${newpath}`
mkdir -p "${destpath}/${newpath}"
touch -t ${touchdate} "${destpath}/${newpath}"
fi
target="${destpath}/${newpath}/${name}"
index=0
# add an integer index to a file if the name exists in this path already
while [ -f "${target}" ] && ! cmp --silent "${target}" "${src}" ; do
echo 'Avoiding overwrite: ' $index
index=$(( $index + 1 ))
target="${destpath}/${newpath}/${name} $index"
done
if [ $dryrun -eq 1 ]; then
echo "Would do ${action} '${src}' '${target}' "
else
echo "${action} '${src}' '${target}' "
${action} "${src}" "${target}"
fi
done
Algunas actualizaciones y adiciones:
No encontrarás la carpeta Masters en Catalina y Big Sur. Ahora se llama Originales.
Copiar las carpetas Masters u Originals no es sencillo. Esas carpetas contienen una serie de subcarpetas y sub-subcarpetas. Y exportará las versiones originales sin editar de sus fotos, es decir, perderá las ediciones.
Photos to Disk ha sido eliminado. Fue excelente hasta Mojave, pero se rompió en Catalina debido a los cambios en la estructura de la base de datos de Fotos. Hay una nueva aplicación en Mac App Store llamada Photos Takeout que funciona en High Sierra, Mojave, Catalina y Big Sur.
Photos Takeout exporta elementos almacenados localmente (en la biblioteca de fotos en la Mac), externamente (archivos referenciados) o en la biblioteca de fotos de iCloud.
Photos To Disk pretende hacer exactamente esto:
Usando Photos To Disk, puede recuperar sus fotos y videos originales (incluidas las fotos en formato de archivo RAW) de su biblioteca de fotos en solo unos pocos pasos.
Puede personalizar su estructura de carpetas para agrupar sus archivos multimedia por año, mes o día. Para los álbumes, Photos To Disk usa la estructura de carpetas definida en Photos.
Los archivos de medios se pueden renombrar después de los títulos que finalmente haya definido en Fotos. También puede prefijar nombres de archivos con fechas de medios o fechas/horas de medios.
Los metadatos (título, descripción, ubicación, palabras clave, fecha y hora ajustadas) pueden incrustarse en archivos de imagen JPEG, PNG, TIFF y PSD o almacenarse en archivos XMP sidecar para otros formatos de archivo de imagen (p. ej., RAW).
Hay un excelente Apple Script de https://origin-discussions-us.apple.com/thread/7641108?start=0&tstart=0
set dest to "/Users/me/Desktop/export/" as POSIX file as text -- the destination folder (use a valid path)
tell application "Photos"
with timeout of 180000 seconds
repeat with i in albums
set tFolder to dest & (get name of i)
my makeFolder(tFolder) -- create a folder named (the name of this album) in dest
export (get media items of i) to (tFolder as alias) without using originals
end repeat
end timeout
end tell
on makeFolder(tPath)
do shell script "mkdir -p " & quoted form of POSIX path of tPath
end makeFolder
Tetsujin
William T. Froggard
nekomático