1 votos

Cómo lanzar una aplicación después de montar un disco específico utilizando Automator

Soy novato en Automatizador . Hay muchos ejemplos para acciones sencillas.

Pero no pude encontrar ejemplos o documentación para lanzar algunas aplicaciones después de montar un disco específico. Será muy útil en el trabajo.

¿Alguien ha hecho esto?

2voto

Harm te Molder Puntos 113

Desarrollando la respuesta de ShooTerKo en Stack Overflow (la que enlaza Volodymyr Kulyk) he escrito el siguiente script que continúa el Workflow si se encuentra el triggeringVolumeName. De esta manera el lanzamiento real (o cualquier otra acción del Workflow) puede ser movido fuera del Applescript:

  1. Crear una nueva acción de Automator del tipo Carpeta Acción

  2. Elija el Volúmenes de su sistema como entrada haciendo clic en Otros... en el Elija la carpeta desplegable, pulsando Cmd+Mayúsculas+G y escribiendo /Volumes

  3. Como primera acción elija Ejecutar Applescript

  4. Utilice el siguiente script y cambie YOUR_VOLUME_NAME para satisfacer sus necesidades:

    on run {input, parameters}
    
        -- define the volume name and the application to start
        set triggeringVolumeName to "YOUR_VOLUME_NAME"
    
        -- walk through all newly mounted volumes
        repeat with aMountedVolumeAlias in input
    
            -- get the volume name from the given alias
            tell application "System Events" to set mountedVolumeName to name of aMountedVolumeAlias
    
            -- compare the volume name with the defined trigger name
            if mountedVolumeName is triggeringVolumeName then
    
                -- continue workflow
                return input
    
            end if
    
        end repeat
    
        -- if repeat finished without match, cancel workflow
        error number -128
    
    end run
  5. Añadir otras acciones al flujo de trabajo, por ejemplo Pedir confirmación , Copiar elementos del buscador o Lanzar la aplicación

0voto

klanomath Puntos 19587

Abra Automator y cree una nueva acción de carpeta.

Elija una carpeta para ver. En mi ejemplo es una unidad de disco duro del instalador de Mavericks con el nombre SistemaUSBMav .

A continuación, añada Lanzar la aplicación de la biblioteca de Automator y elija una aplicación para lanzarla.

Guarda la acción de la carpeta como Lanzamiento en el monte .

Folder Action


Un segundo enfoque es un agente de lanzamiento:

Crear un archivo local.user.mountonlaunch.plist en ~/Library/LaunchAgents con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>local.user.mountonlaunch</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/open</string>
        <string>/Applications/Utilities/Disk Utility.app</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>WatchPaths</key>
    <array>
        <string>/Volumes/SystemUSBMav</string>
    </array>
</dict>
</plist>

Carga el archivo con:

launchctl load /Users/user_name/Library/LaunchAgents/local.user.mountonlaunch.plist

El inconveniente de ambos enfoques es que la aplicación se lanzará también después de expulsar el disco/volumen o de modificar los archivos en root del volumen. Puedes evitar esto último creando una carpeta de vigilancia "falsa" bloqueada en el volumen.

0voto

Volodymyr Kulyk Puntos 103

El problema se resolvió con este gran respuesta.
Sólo tienes que seguir 4 sencillos pasos.

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