2 votos

Applescript: abrir ventana del finder mostrar todos los archivos con una determinada etiqueta. Posible?

Es fácil escribir un Applescript para abrir una ventana de Finder a una carpeta determinada, por ejemplo,

indica la aplicación "Finder" para abrir "Macintosh HD:Users:nombre de Usuario:Descargas"

Es posible que Applescript para abrir una ventana del Finder, mostrando todos los archivos etiquetados, por ejemplo, el verde?

Gracias!

3voto

apple9321 Puntos 26

Si usted puede procesar una variedad de rutas de archivo (en lugar de abrir una ventana del Finder), puede utilizar la mdfind de utilidad:

set greenFiles to paragraphs of (do shell script "mdfind \"kMDItemUserTags == 'Green'\"")

0voto

qarma Puntos 71

Aquí está el flujo de trabajo como lo estoy haciendo ahora: puedo copiar una frase, abra el Finder y haga clic en etiquetas verdes. Puedo copiar/pegar esa frase para encontrar el nombre de archivo que la contiene. Entonces se abre en la vista previa, de donde puedo imprimir. Hago esto cientos de veces al día, y tiene un teclado programable que me ahorra un montón de clics. Se va a ejecutar Applescripts.

Desde ahora es claro que en realidad no se requieren los archivos que se muestran en el Buscador de la ventana con el fin de alcanzar su objetivo último, que me había prestado la sugerencia de @apple9321 y se utiliza mdfind para recuperar los archivos de rutas y coinciden con los nombres de los archivos, contra el contenido del portapapeles.

La primera mitad de la siguiente secuencia de comandos realiza estas tareas. Lo siento, la secuencia de comandos aparece tan largos-en realidad no, ya que la mayoría de ellas tomada por los comentarios que he añadido para ayudar a guiarlo a través de lo que cada parte de la secuencia de comandos. Copia-n-pegarlo en el Editor de secuencias de Comandos y ejecutar (con texto adecuado ya sentado en el portapapeles).

    -- Get the text from the clipboard
    -- to use for searching filenames
    set SearchTerm to the clipboard as text
    set SearchTerm to quoted form of (["*", SearchTerm, "*"] as text)

    -- Run a bash command to retrieve all
    -- files with a green tag and a filename
    -- that includes the above search term
    -- (case-insensitive)
    set Command to ["mdfind ", ¬
        "\"((kMDItemUserTags = '*Green*'cd) ", ¬
        "&& (kMDItemDisplayName = ", ¬
        SearchTerm, ¬
        "cd))\""] as text

    try -- Run the bash command and get a list of file paths
        set FileList to paragraphs of (do shell script Command)
    on error -- No matching filenames, script terminates
        return 0
    end try

    -- Convert the string file paths to a class
    -- that AppleScript can use to reference the files
    repeat with PathToFile in FileList
        set end of FileList to POSIX file PathToFile
        set FileList to rest of FileList
    end repeat

    -- Open the files in Preview and print the documents.
    -- You may not need to actually need to include the
    -- `open` command, as I believe Preview will still
    -- be able to run a `print` command if you hand it a
    -- list of file references, e.g. print FileList
    tell application "Preview"
        open FileList
        -- You can omit `with properties` or just
        -- include the print settings you want
        -- (see the AppleScript "Preview" dictionary
        -- for details of other available settings)
        print documents with properties ¬
            {copies:1, target printer:"Epson Stylus Photo PX830"}
    end tell

La segunda mitad de la secuencia de comandos hace algunos quehaceres de la casa con los tipos de archivo para hacerlos utilizables, pero luego es bastante simple para AppleScript para abrir el archivo(s) en la vista previa de impresión y fuera de ellas.

Tengo que poner una advertencia aquí, y declaro que no he sido capaz de probar la print comando vista previa en AppleScript. Esto es debido a que no tengo una impresora. Pero mi fuerte sensación es que esto debe funcionar con pocos, si alguno, tweaks, y probablemente incluso permite imprimir sin necesidad de abrir los archivos en primer lugar:

    tell application "Preview" to print FileList

Pero, como he dicho, no puedo físicamente a prueba a mí mismo y yo voy por lo que se infiere de la vista previa's diccionario de AppleScript (que también contiene una lista de la configuración de impresión, debe usted necesita para especificar estos desde el interior de la secuencia de comandos-me especificado copies y target printer simplemente como dos ejemplos que parecía ser el más útil, pero estos no son necesarios).

¿Suena esto como que satisface sus necesidades ?

Su programables teclado suena como una buena forma de activar esta secuencia de comandos después de copiar la frase de búsqueda en el portapapeles. El método alternativo habría sugerido para otras personas que no tienen un dispositivo de este tipo, sería crear un Automator servicio, para que un atajo de teclado (tecla de acceso) puede ser asignada para activar la secuencia de comandos de esa manera; o que el servicio se activa después de resaltar algunas de texto y haga clic en el fin de enviar este texto directamente en el servicio, como una alternativa para copiarlo al portapapeles.

Una nota final: elegí mdfind en esta instancia, ya que implicaba que quería buscar a través de todos los verdes de etiquetado de archivos en su disco duro, y esto lo hace más rápido que builtin comandos de AppleScript. Sin embargo, si usted sólo necesita buscar verde de etiquetado de los archivos en una carpeta específica o un par de carpetas, puede ser mejor utilizar integrados comandos de AppleScript (dependiendo de cuántos archivos en estas carpetas). Si usted encuentra los archivos que faltan a partir de los resultados de mdfind, puede que necesite volver a índice de Spotlight (sudo mdutil -Ea de Terminal). Se toma un tiempo para reconstruir el almacén de metadatos, pero ninguno de los archivos omitidos de los resultados de búsqueda que debe aparecer ahora va a estar allí. Usted puede obtener una vista previa de la lista completa de los resultados de la búsqueda en la Terminal escribiendo este comando: mdfind "kMDItemUserTags == 'Green'", que debería lista de todos los verdes-los archivos marcados.

Si necesita ayuda o tiene alguna duda, deja un comentario y me pondré en contacto con usted. Puedo modificar el código si tienes específico después de los pensamientos.

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