Tengo muchas imágenes que contienen los metadatos "Where from" en la sección "get info" que muestra la URL de donde fueron descargadas. Quiero eliminar esta información de todas ellas al mismo tiempo.
He creado un Applescript que funciona cuando el shell script recupera una imagen de la carpeta seleccionada en el finder. Pero cuando el resultado del shell script es de varias imágenes, me da el siguiente error:
xattr: No hay tal archivo:
Necesito que el Applescript funcione sin el uso de un manejador ya que será utilizado en una aplicación que no acepta manejadores.
tell application "Finder" to set selectedFolder to selection as alias list
set folderPath to quoted form of POSIX path of selectedFolder
set getImages to "mdfind -onlyin " & folderPath & " 'kMDItemKind = *image'"
set selectedImages to paragraphs of (do shell script getImages)
set filePaths to {}
repeat with thisFile in selectedImages
set end of filePaths to quoted form of POSIX path of thisFile
end repeat
do shell script "xattr -d com.apple.metadata:kMDItemWhereFroms " & filePaths
0 votos
Si se pasa más de una carpeta seleccionada a este flujo de trabajo, se producirá un error en la segunda línea. Mientras que AppleScript es razonablemente hábil para tratar con un
list
que contenga una sola cadena y, cuando sea necesario, saber cuándo utilizar elstring
en lugar de lalist
Pero no es capaz de hacer esto con cualquier lista de dos o más elementos. TampocoPOSIX path
niquoted form
son propiedades disponibles para unlist
por lo que ambos se van a quejar si les haces tratar cualquier cosa que no sea el caso trivial.