Básicamente lo que intento conseguir es lo siguiente:
- Crear una lista de alias de cualquier cantidad de carpetas con la selección del Finder.
- Obtener todas las imágenes de esas carpetas con un shell script.
- Aleatorice esas imágenes.
- Abra las imágenes aleatorias en la aplicación de vista previa.
El script que he creado funciona parcialmente con dos carpetas seleccionadas que contienen tres imágenes cada una (6 en total). Pero sólo abre 3 imágenes con la aplicación de vista previa en lugar de las 6.
También lo estoy probando con más de 100 imágenes en dos carpetas distintas y me da error:
"Can’t make file \":43\" into type alias." number -1700 from file ":43" to alias
Además, las imágenes no están siendo aleatorias cada vez que ejecuto el script.
Tenga en cuenta que prefiero usar el shell script para obtener las imágenes porque es mucho más rápido que usar el Finder. Si es posible utilizar también un shell script para aleatorizar las imágenes, me gustaría saber cómo se puede lograr esto en el script que he creado.
Se agradece cualquier ayuda. Gracias.
tell application "Finder"
if selection is {} then
else
set theFolders to selection as alias list
set theImages to {}
repeat with aFolder in theFolders
set getImages to "find " & aFolder's POSIX path's quoted form & " -iname '*.jpg'"
set end of theImages to paragraphs of (do shell script getImages)
end repeat
-- Randomize selected images
set randomImages to {}
repeat with thisImage in some item in theImages
set end of randomImages to thisImage
end repeat
-- Get aliases
set filePaths to {}
repeat with thisFile in randomImages
set end of filePaths to (thisFile as POSIX file as alias)
end repeat
-- Open random images with Preview
open filePaths using application file id "com.apple.Preview"
end if
end tell