Atajo para expulsar todos los discos duros externos pero no MobileBackups

3

Hasta ahora he estado usando el siguiente AppleScript para expulsar todas las unidades externas a la vez de manera conveniente mediante un acceso directo:

tell application "Finder"
    eject (every disk)
end tell

Este script está almacenado en /Library/Scripts y le he asignado un acceso directo para activarlo en FastScripts .

Pero hay un problema. Cuando tiene Copias de seguridad de Time Machine habilitadas, OS X monta un volumen virtual MobileBackups en /Volumes para almacenar instantáneas locales . Este volumen será expulsado junto con todos los volúmenes físicos externos. Quiero evitar esto ya que esto evitará que se tomen instantáneas locales (hasta que se vuelva a montar en el próximo inicio de sesión).

¿Cómo puedo agregar una excepción para excluir /Volumes/MobileBackups en el AppleScript anterior?

    
pregunta gentmatt 19.03.2013 - 10:18

3 respuestas

2

Este código AppleScript:

tell application "Finder"
    set diskList to the disks
    repeat with mountedDisk in diskList
        if name of mountedDisk is not "MobileBackups" then
            eject mountedDisk
        end if
    end repeat
end tell

expulsa todos los discos montados excepto cuando se llama MobileBackups , es decir, /Volumes/MobileBackups .

    
respondido por el jaume 19.03.2013 - 11:51
1

He modificado ligeramente esto para hacer exclusiones como un conjunto.

set exceptionsList to {"MobileBackups", "startup disk", "home", "net"}
tell application "Finder"
    set diskList to the disks
    repeat with mountedDisk in diskList
        if name of mountedDisk is not in exceptionsList then
            eject mountedDisk
        end if
    end repeat
end tell
    
respondido por el Neil Ticktin 04.01.2015 - 18:49
1

Puedes hacer lo siguiente:

tell application "Finder"
  eject (every disk whose ejectable is true)
end tell

Si tiene discos particionados montados, mantenga presionada la tecla Tecla "Opción", ejecute su secuencia de comandos, luego suelte la tecla cuando haya terminado.

    
respondido por el Dickster 01.02.2017 - 18:44

Lea otras preguntas en las etiquetas