3 votos

¿Cómo puedo hacer que dos aplicaciones se activen desde una aplicación AppleScript?

Así que estoy jugando con AppleScript y soy bastante nuevo en ello.

Cómo hago para que el script salga de ambas aplicaciones si:

  • app1 y app2 se están ejecutando
  • o si se está ejecutando la app1 o la app2
  • y ejecutarlos si no están funcionando

Mi script:

if application "app" is running or "app2" is running then
        tell application "app1" to quit
        tell application "app2" to quit
else
        tell application "app1" to activate
        tell application "app2" to activate
end if

1voto

wch1zpink Puntos 11

Creo que esto puede ser lo que estás buscando.

set app1 to "TextEdit" -- Change as needed
set app2 to "Mail" -- Change as needed

if (application app1 is running or application app2 is running) or ¬
    (application app1 is running and application app2 is running) then
    tell application app1 to quit
    tell application app2 to quit
else
    tell application app1 to activate
    tell application app2 to activate
end if

0 votos

No creo que necesites or (application app1 is running and application app2 is running) : (A OR B) OR (A AND B) es lógicamente equivalente a A OR B .

0 votos

Sí, estoy de acuerdo, pero al no conocer el alcance de cualquier otro código posible en su archivo, pensé en proporcionar la solución exacta según sus tres puntos separados en su pregunta

1voto

Chris Norman Puntos 46

Pruebe este código para su primera línea:

if application "app" is running or application "app2" is running then

La línea de código arreglada hace que el resto de este script se ejecute correctamente.

Su ejemplo parece estar escrito parcialmente al revés. Primero pregunta si alguna de las aplicaciones se está ejecutando y si alguna de las aplicaciones se está ejecutando, entonces le dice a ambas que salgan. Si cualquiera de las aplicaciones se está ejecutando, ambas se cierran, así que ¿por qué comprobar entonces si ambas aplicaciones se están ejecutando? Ya habrían sido abandonadas por su primera if bloque. Así que primero hay que comprobar si las dos aplicaciones se están ejecutando, luego salir de las dos, y luego comprobar si alguna de las aplicaciones se está ejecutando, y luego salir de la que se está ejecutando. Pero incluso eso parece una exageración.

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