Ya he buscado en los foros una respuesta al problema, pero la mayoría de las veces está en el contexto de la conversión de archivos por lotes (con nombres dispares). Solo quiero abrir una variedad de archivos JPEG en Vista previa.
Capturo imágenes de artículos particulares en mi taller usando "Workflow" para iOS. Tiene un script propio que guarda los archivos en el formato 00000-0.JPG donde los primeros cinco ceros son el número de artículo y el cero final es el orden secuencial de ese artículo en particular. por ejemplo , 78934-4.JPG es la cuarta foto del artículo "78934". El número de imágenes para un artículo dado puede variar mucho.
Todo esto termina en una carpeta (en mi Mac) con varios miles de otras imágenes, todas con la misma convención de nomenclatura. Me gustaría acelerar el proceso de búsqueda y apertura de estos (similar a estar en Finder, seleccionar un rango de imágenes a mano y hacer doble clic en el rango y abrirlas en una "instancia" o ventana de Vista previa, para minimizar tener para arrastrar ventanas) con AppleScript.
Esto es lo que he escrito hasta ahora...
tell application "Finder" to set myFiles to folder "Macintosh SSD:Users:me:ownCloud:Bilder_neu:Einzelbilder"
set file_extention to ".JPG"
set articleNumber to display dialog "Please enter article number" default answer "" with icon note buttons {"Cancel", "Continue"} default button "Continue"
No estoy seguro de cómo administrar el "bucle for" para encontrar y luego abrir las imágenes.
Gracias por cualquier ayuda brindada
El siguiente ejemplo de código AppleScript asume que el valor predeterminado de macOS de imágenes que se abren en Vista previa todavía está en juego.
set theImages to quoted form of POSIX path of ¬
((path to home folder as string) & "ownCloud:Bilder_neu:Einzelbilder")
set articleNumber to text returned of ¬
(display dialog "Please enter article number:" default answer ¬
"" with icon note buttons {"Cancel", "Continue"} default button "Continue")
do shell script "find " & theImages & " -type f -iname '" & articleNumber & "-*.JPG' -exec open {} +"
Si Vista previa no es el controlador predeterminado para los archivos de imagen, cambie el do shell script
comando a:
do shell script "open -a Preview $(find " & theImages & " -type f -iname '" & articleNumber & "-*.JPG')"
Tenga en cuenta que no se requiere " AppleScript puro ".
Nota: El código AppleScript de ejemplo es solo eso y no emplea ningún manejo de errores y solo pretende mostrar una de las muchas formas de realizar una tarea. La responsabilidad siempre recae sobre el Usuario para agregar/usar el manejo de errores apropiado según sea necesario/deseable.
Aquí hay un medio puro de AppleScript para lograr su objetivo:
set ImagesFolder to "/Users/me/ownCloud/Bilder_neu/Einzelbilder"
set articleNumber to text returned of (display dialog ¬
"Please enter article number" default answer ¬
"" with icon note buttons {"Cancel", "Continue"} ¬
default button "Continue")
tell application "System Events" to set JPGs to ¬
path of every file in folder ImagesFolder whose ¬
type identifier is "public.jpeg" and ¬
name begins with (articleNumber & "-")
tell application "Preview" to open JPGs
open -a Preview $(find ...)
. Eso es más sensato. Aunque no se requiere AppleScript puro, ¿no es más deseable en general? O dicho de otra manera, ¿qué le hizo abordar la solución de este problema empleando comandos de shell, en lugar de obtener los archivos a través de AppleScript (que fue instintivamente mi primera inclinación)?do shell script
es un comando de AppleScript y, como tal, no hay absolutamente nada de malo en su uso sobre el llamado método puro de AppleScript o viceversa. A menudo defiendo el uso do shell script
porque generalmente puedo escribir lo que quiero lograr más rápido/más fácil y en menos caracteres que con el llamado AppleScript
puro .
usuario3439894
Guillermo Lombardo
usuario3439894