¿Cómo cerraría todas las aplicaciones de usuario en ejecución con Applescript?Salir de todas las aplicaciones con Applescript?
Respuesta
Está bien ... Creo que he encontrado mi respuesta:
tell application "System Events" to set the visible of every process to true
set white_list to {"Finder"}
try
tell application "Finder"
set process_list to the name of every process whose visible is true
end tell
repeat with i from 1 to (number of items in process_list)
set this_process to item i of the process_list
if this_process is not in white_list then
tell application this_process
quit
end tell
end if
end repeat
on error
tell the current application to display dialog "An error has occurred!" & return & "This script will now quit" buttons {"Quit"} default button 1 with icon 0
end try
tell application "System Events" to set quitapps to name of every application process whose visible is true and name is not "Finder"
repeat with closeall in quitapps
quit application closeall
end repeat
Bienvenido a Stackoverflow. ¿Te importaría ampliar un poco tu respuesta para explicar cómo se resuelve el problema? – Daenarys
esto cierra todas las aplicaciones visibles, excepto el buscador, de forma segura para que no cierre otros procesos en ejecución que puedan afectar los procesos de fondo de las computadoras. – Jeff
tell application "System Events" to set the visible of every process to true
set white_list to {"Finder"}
try
tell application "Finder"
set process_list to the name of every process whose visible is true
end tell
repeat with i from 1 to (number of items in process_list)
set this_process to item i of the process_list
if this_process is not in white_list then
tell application this_process
quit
end tell
end if
end repeat
on error
tell the current application to display dialog "An error has occurred!" & return & "This script will now quit" buttons {"Quit"} default button 1 with icon 0
end try
Después de algunas google, me encontré con un mejor enfoque:
- Se utiliza para construir
background only
la lista de aplicaciones inicial, en lugar devisible is true
. La diferencia es que las otras secuencias de comandos fallarán para salir de una aplicación que se ha ocultado con ⌘H. - Proporciona una lista de exclusiones para que, por ejemplo, pueda evitar que el editor de scripts se cierre cada vez que pruebe el script.
Adaptado de a thread on MacScripter.
-- get list of open apps
tell application "System Events"
set allApps to displayed name of (every process whose background only is false) as list
end tell
-- leave some apps open
set exclusions to {"AppleScript Editor", "Automator", "Finder", "LaunchBar"}
-- quit each app
repeat with thisApp in allApps
set thisApp to thisApp as text
if thisApp is not in exclusions then
tell application thisApp to quit
end if
end repeat
- 1. Applescript: enumere todas las aplicaciones en ejecución
- 2. AppleScript - Listar todas las fuentes
- 3. Salir de una aplicación usando applescript
- 4. Obtener lista de todas las aplicaciones instaladas
- 5. ¿Usar modelos django en todas las aplicaciones?
- 6. Salir de otras aplicaciones en el cacao
- 7. ¿Cómo obtener una lista de todas las NSWindow abiertas desde todas las aplicaciones en ejecución?
- 8. programas abiertos con applescript
- 9. Icono de WPF para todas las ventanas de aplicaciones
- 10. Obtener iconos de todas las aplicaciones instaladas en Android
- 11. ¿Cómo crear aplicaciones de Android para todas las resoluciones?
- 12. ¿Qué se puede hacer con AppleScript?
- 13. Eclipse: ¿cómo finalizar todas las aplicaciones a la vez?
- 14. ¿Importar métodos de AppleScript en otro AppleScript?
- 15. Ejecutando migraciones hacia el sur para todas las aplicaciones
- 16. ¿Cómo simular la entrada del teclado en TODAS las aplicaciones?
- 17. Cómo obtener todas las aplicaciones instaladas en el teléfono Android
- 18. ¿Cómo matar todas las aplicaciones en ejecución en Android?
- 19. ¿Por qué las aplicaciones de Android no brindan la opción "Salir"?
- 20. Filtrar aplicaciones que no se pueden abrir al obtener todas las aplicaciones instaladas
- 21. Establecer la posición de la ventana con AppleScript
- 22. Problema con la subrutina de Applescript
- 23. Desactivar al mínimo una aplicación con Applescript
- 24. ¿Pueden las aplicaciones de Java integrarse con las aplicaciones de VB?
- 25. Listar todas las subclases con nombres completos
- 26. ORA-01008 con todas las variables obligado
- 27. Reemplazar todas las '\' chars por '/' con C#
- 28. Wordpress - Enumere todas las publicaciones (con proper_pagination)
- 29. registre automáticamente todas las interfaces con Unity
- 30. git rama rebase con todas las subfunciones
Great stuff. Una cosa a tener en cuenta es que el sistema operativo (al menos en 10.7.4) activa automáticamente Finder, con ventanas no minimizadas, una vez que se cierra la última aplicación. Si prefiere una vista limpia de su escritorio, puede minimizar todas las ventanas del Finder, 'tell application" System Events "para hacer clic (primer botón de cada ventana del proceso" Finder "cuya función es" minimizar el botón ")', y/o ciérrelos todos, 'diga a la aplicación" Buscador "que cierre cada ventana'. Si los cierra, minimizarlos primero evita el parpadeo. – mklement0
Mientras usamos la propiedad 'name' de la clase de proceso _usually_ works, hay aplicaciones cuyo valor difiere del nombre de la aplicación como se muestra en la interfaz de usuario y según lo entiende la instrucción' tell application'. Por lo tanto, es mejor usar la propiedad 'displaying name' (aunque todavía puede haber casos en que incluso eso no funciona). Por lo tanto, la línea relevante anterior debe ser 'set process_list al nombre mostrado de cada proceso que sea visible'. – mklement0