Utilizo el siguiente script para intentar expulsar todos los discos que no son internos:
tell application "Finder"
eject (disks whose ejectable is true)
end tell
Esto tiene la ventaja de omitir volúmenes MobileBackups
, así como muchos otros.
Desafortunadamente, no expulsa los recursos compartidos de red.
¿Hay alguna manera de conectar recursos compartidos de red en AppleScript?
Como un +1, idealmente esto también omitiría cosas como los discos ópticos.
EDITAR : Ambas respuestas hasta ahora han compartido formas de expulsar discos de red específicos . Esto, por supuesto, es fácil y sé cómo hacerlo. Lo que pido específicamente es una forma de intentar expulsar todos los discos que no sean discos internos del sistema, independientemente de su nombre.
macos
applescript
automator
automation
Tim Visher
fuente
fuente
The Disk "32-digit UUID" wasn't ejected because one or more programs may be using it.
pero no puedo entender a qué corresponde ese UUID. No está en la lista,diskutil info -all
por ejemplo. Además, nada figura en lsof. Esto está en OSX High Sierra. ¿Alguna sugerencia?Respuestas:
Yo uso Automator. Inserté 'Obtener elementos del buscador especificados' y llamé a los discos de destino que quería 'Obtener'. Solo se eligen los nombrados, pero las unidades de red funcionan. Luego canalizo esto a 'Eject Disk'.
Eso es.
fuente
Fácilmente hecho usando la
-t
opción delumount
comando. Desde la página de manual que puede leer usandoman umount
:Entonces,
debe desmontar todos los recursos compartidos NFS y Windows / Samba montados.
EDITAR: También puede utilizar la
-f
opción para forzar la acción. Lea la página del manual para más detalles.EDIT2: Disculpas, umount no se comporta como se anuncia, al menos en mi Snow Leopard. Entonces lo haría así recordando cambiar
msdos
al tipo de sistema de archivos deseado:HTH
fuente
mount
comando mostrará todos los sistemas de archivos montados. En la salida, la primera palabra después del paréntesis es el tipo de sistema de archivos.O simplemente puede llamar al comando de shell ...
Tenga en cuenta que esto puede fallar si tiene archivos abiertos para que pueda agregarlos
force
como talesfuente
La utilidad de línea de comandos
/sbin/umount
puede ser otra solución para lo que está buscando. Mac OS mantiene un alias para cada uno de sus discos montados en una carpeta / Volúmenes. Puede usar esto para su ventaja y calcular la cantidad de unidades que se enumeran allí:Por lo tanto, es posible que desee crear un script de shell que enumere los contenidos de / Volumes e intente expulsarlos a todos, como este:
Sin embargo, no podrá expulsar unidades que no se pueden expulsar, como el disco de inicio actual.
fuente
Esto solo expulsará todos los volúmenes de red:
fuente
Si desea un AppleScript, adapté el script publicado en: Acceso directo para expulsar todos los discos duros externos, pero no MobileBackups
a esto, y funciona muy bien. He colocado el applet para esto en mi base para usarlo antes de desconectarlo.
fuente