3 votos

Buscando script para añadir a mi servicio de automator para que revele el elemento recién creado en el finder

Después de mucha investigación (no estoy familiarizado con la codificación Shell, Bash... y acabo de descubrir la magia de Automator y la utilidad de la Terminal), he creado un servicio de Automator que captura una imagen de un rectángulo específico de mi pantalla y la guarda en el escritorio al pulsar una tecla de acceso directo. Funciona bien, pero sería práctico, si pudiera añadirle un código, que luego revelara la nueva imagen en el Finder. No quiero abrir la imagen recién creada, sólo revelarla y resaltarla en el Finder, para poder tomar varias imágenes seguidas y ver que fueron creadas sin tener que hacer nada más con ellas en ese momento.

Mi 'Run AppleScript' en Automator en este momento:

set theDate to do shell script "date +%Y-%m-%d"
set theTime to do shell script "date +%H.%M.%S"
set theTempPath to POSIX path of (path to desktop)
set thePath to theTempPath & "screenCapture " & theDate & " at " & theTime & ".png"
do shell script "screencapture -R1079,113,773,1033 -tpng" & space & quoted form of thePath

Puede que haya otra forma de hacerlo, soy un completo novato en esto de los ajustes :) Sé que se puede hacer algo en la propia carpeta a través de Folder Actions Setup, pero quiero que la carpeta revele el nuevo elemento sólo cuando haya ejecutado este servicio, no cada vez que añada algo nuevo. Su ayuda sería muy apreciada. Gracias. (mis disculpas por los errores y las erratas)

0 votos

Hola, creo que lo he solucionado, he añadido el siguiente código y funciona: dile a la aplicación "Finder" que se active - nueva línea - dile a la aplicación "Finder" que revele el último archivo

0 votos

...pero si hay formas más fáciles de hacer algo de esto o un código más limpio, por favor, aconséjalo... Quiero aprender más sobre la codificación, es divertido :) ¡Gracias!

1voto

Zuzie Puntos 11

Al final lo resolví por mí mismo - quizás esto sea útil para otros :) Añadí estas líneas a mi código y funcionan - revelan la captura de pantalla recién creada resaltada en Finder:

tell application "Finder" to activate
tell application "Finder" to reveal the last file

Soy consciente de que probablemente haya un código más limpio para hacer todo esto y si te apetece aconsejarme al respecto, por favor, no te contengas, estoy deseando aprender más :) Gracias.

0voto

wch1zpink Puntos 11

Su solución

tell application "Finder" to activate
tell application "Finder" to reveal the last file

no revela el archivo de captura de pantalla, en mi sistema que está ejecutando la última versión de macOS High Sierra,

Sin embargo, este código me revela el archivo adecuado...

set theDate to do shell script "date +%Y-%m-%d"
set theTime to do shell script "date +%H.%M.%S"
set theTempPath to POSIX path of (path to desktop)
set thePath to theTempPath & "screenCapture " & theDate & " at " & theTime & ".png"
set hmmm to do shell script "screencapture -R1079,113,773,1033 -tpng" & space & quoted form of thePath

tell application "Finder"
    activate
    reveal thePath as POSIX file
end tell

0 votos

Bien por ti :)

0 votos

Mi sistema es MacOS Sierra Versión 10.12.6 Probé las líneas que hiciste, antes de conformarme con las dos líneas, pero creo que sólo escribí revelar thePath en la línea 3 y no me funcionó. Soy un novato en la codificación :) ¿Por qué hay 'as alias' al final?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X