Lote de archivos JPG abiertos en vista previa

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

Dijiste "La cantidad de imágenes para un elemento dado puede variar mucho", entonces, ¿qué es "mucho"? Mirando su descripción con los primeros 5 dígitos siendo el número de artículo y el último dígito, el que está después del '-' se muestra como un solo dígito, solo puede haber 10 imágenes de un número de artículo dado, 0-9 como el último dígito. ¿El conteo máximo de 10 es "mucho"? ¿El patrón es siempre numérico y se limita, por ejemplo, a #####-#.JPG o el patrón después de '-' puede tener varios dígitos y, en caso afirmativo, cuántos lugares? Además, ¿qué versión de OS X/macOS estás usando?
Suele ser al menos dos imágenes para cada artículo. El número de artículo es siempre de cinco dígitos. El valor después del guión casi nunca excederá 9, así que sí, en términos prácticos #####-#.JPG funcionaría en casi todos los casos. ¿Podría aplicarse aquí el resultado de la Terminal de "ls #####-*"?
Actualicé mi respuesta para un caso de uso si Vista previa no es el controlador predeterminado para archivos de imagen.

Respuestas (2)

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.

Oye, usuario3439894, acabo de intentarlo. Funcionó perfectamente. ¡Gracias por sacarme de ese agujero!

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
La primera solución parece funcionar mejor. Es más rápido (en mi caso) y no arroja advertencias de error de permiso. Gracias CJK por tu ayuda, de todos modos.
Hola CJK, actualicé mi respuesta para un caso de uso si Vista previa no es el controlador predeterminado para archivos de imagen y también tomé nota de que no se requiere AppleScript puro . :)
@user3439894 Buen trabajo con 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)?
Algunos usuarios nunca cambian el valor predeterminado, por lo que cualquier forma es sensata. - Tengo que decir que puse '¡Tenga en cuenta que no se requiere "AppleScript puro"!' en mi respuesta, después de que publicaras la tuya, como una especie de broma. :) Sin embargo, hablando en serio, 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 scriptporque 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 .
Por cierto... El llamado AppleScript puro no es una especie de insignia. (¿Insignias? ¡No tenemos insignias! ¡No necesitamos insignias! ¡No tengo que mostrarles ninguna insignia apestosa!) :)
Creo que se malinterpretó el sentimiento detrás de mi nota sobre AppleScript puro. No tengo problemas para integrar el código bash con AppleScript, y me han visto hacerlo en muchos otros scripts que he enviado en SE. Simplemente describí mi solución como "AppleScript puro" para diferenciar su metodología de la suya, pero no para implicar que una fuera mejor que la otra. Aunque, como inferí en el comentario anterior, visualmente , tengo una preferencia personal por el código AppleScript puro; pero funcionalmente , uno puede lograr cosas con bash que simplemente no puede hacer en AppleScript puro y, a menudo, más rápido.
Cuando comienza diciendo 'Aquí hay un medio puro de AppleScript para lograr su objetivo, y no requiere que Preview sea la aplicación predeterminada para abrir imágenes jpeg:' y luego nada más que código, después de publicar la respuesta que hice, sí, podría haberlo malinterpretado si hubiera elegido hacerlo, pero en realidad no lo hice, solo estaba tratando de divertirme un poco, ¡en serio, eso es todo! :) ¡Hay algunos usuarios que realmente se burlan de desembolsar y sé que no eres uno de ellos! Además de eso, ¿sabes lo difícil que es intercalar esa cita de la película en una conversación? :)
Me di cuenta demasiado tarde de que mi comentario sobre Preview tenía una connotación despectiva en la forma en que lo redacté en referencia a su respuesta. Puedo decirte que no quise que ese fuera el caso intencionalmente, pero a veces escribo antes de procesar mis pensamientos correctamente. De todos modos, todo es buena diversión y buen aprendizaje. A menudo atiendo a SE cuando estoy muy cansado y en las primeras horas de la mañana.