Comment éjecter rapidement toutes les partitions externes?

15

J'ai un disque externe avec deux partitions dessus que je garde branché sur mon MacBook Pro lorsque je suis à mon bureau. (L'un est pour Time Machine, l'autre juste pour un stockage supplémentaire.) Parfois, j'ai besoin de saisir mon ordinateur portable rapidement et de l'emmener quelque part, mais je dois changer pour un espace où je peux voir les partitions sur le bureau, les lasso, deux -Cliquez avec le doigt et sélectionnez Eject. Existe-t-il un moyen plus rapide sous Mavericks, ou dois-je configurer un AppleScript comme celui-ci avec un raccourci clavier?

Remarque: je ne cherche pas à les éjecter uniquement lorsque je mets mon Mac en veille (comme expliqué ici ). Parfois, je suis sur une téléconférence de partage d'écran et je dois retirer mon Mac de mon bureau pendant une minute, si vous voyez ce que je veux dire :-).

Jim L.
la source
J'utilise Alfred.app pour effectuer cette tâche. Il est aussi simple que d'appuyer <kbd>cmd</kbd>+<kbd>space</kbd>et de taper eject. Fortement recommandé
wrossmck
Beaucoup de bonnes réponses ci-dessous. J'ai du mal à en choisir un comme meilleur.
Jim L.
Cet endroit n'est pas assez grand pour nous deux, @ JimL. Je suppose que je vais devoir y aller. (désolé, je sais que mon commentaire n'est pas pertinent, mais j'ai vu son nom sur un autre post et j'ai pensé: "Je n'ai pas écrit ça!" Vraiment fait une double prise.
JimLohse

Réponses:

7

Sur OS-X Mountain-Lion, je peux cliquer sur l'une des icônes "Éjecter" (maintenez l'option, puis cliquez sur l'icône d'éjection) et toutes les partitions externes seront éjectées.

(Mise à jour) Cela a été vérifié pour fonctionner également sur OS X Mavericks et même sur macOS Sierra, comme je le soupçonnais. On peut probablement supposer qu'il fonctionne sur au moins toutes les versions intermédiaires (essayez-le!).

Psaume Ogre33
la source
Cela fonctionne toujours sous Mavericks.
Jim L.
Cela s'avère être la réponse la plus satisfaisante pour moi. Un accord de touche rapide et c'est fait. Aucun logiciel supplémentaire requis. Merci!
Jim L.
2
Semble ne plus fonctionner sur El Capitan. Quelqu'un peut-il confirmer?
Matteo
@Matteo fonctionne toujours pour moi!
Jim L.
11

La seule mise en garde pour "éjecter rapidement" des disques avec une certaine fiabilité est qu'ils ne s'éjecteront pas s'il y a des fichiers en cours d'utilisation qui y résident. Cela dit, vous pouvez forcer l'éjection des disques, mais ce ne serait pas idéal si les fichiers sont en fait en cours d'utilisation.

Le moyen le plus simple d'éjecter instantanément tous les disques est d'appeler un Applescript (pourrait également créer un script shell, mais Applescript est plus facilement transformé en une solution d'application en un clic).

Allez donc dans votre éditeur Applescript, collez ce qui suit:

tell application "Finder" to eject (every disk whose ejectable is true and local volume is true and free space is not equal to 0)

Entrez le code dans votre éditeur de script

et enregistrez le script en tant qu'application où que vous choisissiez (n'utilisez PAS le /tmpdossier comme illustré) . Ajoutez l'application résultante à votre Dock et vous obtenez une éjection rapide en un clic.

Sélectionnez «Application» comme format de fichier

Remarque: la and free space is not equal to 0partie est pour que le script n'éjecte pas le contenu de votre lecteur de CD / DVD. Supprimez-le si vous souhaitez également éjecter les disques insérés.

dashard
la source
J'ai enveloppé cela dans un script Ruby dans ma réponse ici ... en quelque sorte la même chose encore une fois ...
Dan Rosenstark
J'ai mis cet Applescript à exécuter dans un service, puis j'ai créé un raccourci clavier dans les Préférences Système et cela fonctionne parfaitement.
juil
C'est ma réponse préférée car elle utilise des trucs MacOS natifs. Cependant, cela ne répond pas vraiment au besoin de déconnecter physiquement rapidement les disques externes. "Je dois retirer mon Mac de mon bureau pendant une minute". Donc, si le script éjecte uniquement les lecteurs éjectables et que certains n'étaient pas éjectables à ce moment-là, ce serait bien si nous étions avertis avant de retirer le câble et de nous diriger vers une autre pièce!
tishma
7

Je recommanderais Alfred . Il s'agit d'une application de lancement rapide qui inclut la fonction d'éjection de volumes. Vous pouvez sélectionner le type de cibles éligibles pour la commande (lecteur réseau, local, etc.).

commande d'éjection d'Alfred

Lorsque vous déclenchez le raccourci, vous pouvez sélectionner un volume spécifique à démonter. Ou vous pouvez taper ejectall (ce nom de raccourci est personnalisable).

SeanC
la source
1
Remarque: vous devrez activer ces commandes Alfred intégrées en allant dans Alfred Preferences -> System -> Eject and Preferences -> System -> "Eject All" alfredapp.com/help/features/system
cody.codes
3

J'utilise la barre de lancement pour automatiser cette tâche. Il a un raccourci de commande pour éjecter tous les volumes éjectables. C'est incroyablement rapide et si vous désactivez la plupart des règles d'indexation, l'empreinte mémoire et l'utilisation du processeur peuvent être minimes.

Il est beaucoup plus puissant que ce seul truc, mais il le fait très bien et vous seriez probablement d'accord avec la version gratuite à cet effet car vous n'utiliseriez que ce seul raccourci.

bmike
la source
1

Vous pouvez utiliser l'application de barre de menus Ejector http://www.macupdate.com/app/mac/12216/ejector pour éjecter tous les volumes éjectables. La seule partie regrettable pour moi est que je ne peux pas les éjecter sans me connecter.

samh
la source
1

Personnellement, j'utilise Alfred comme suggéré dans une autre réponse. Mais voici la réponse Applescript , enveloppée dans un script Ruby.

#!/usr/bin/env ruby
#eject-all shell script

# Dan Rosenstark 2015-11-12 15:28
# http://porkrind.org/missives/calling-applescript-from-ruby/
def osascript(script)
  system 'osascript', *script.split(/\n/).map { |line| ['-e', line] }.flatten
end

if __FILE__ == $0
  appleScript = "tell application \"Finder\" to eject (every disk whose ejectable is true and local volume is true and free space is not equal to 0)";
  osascript appleScript
  puts "I probably ejected all the disks."
end

vous devrez le mettre sur votre chemin et le rendre exécutable.

Dan Rosenstark
la source
0

Cela peut être fait avec élégance avec une application d'automatisation et en utilisant la fonction d'affichage de notification pour la sortie. Enregistrez simplement ce qui suit en tant qu'application et lancez-le comme vous le souhaitez.

entrez la description de l'image ici

Abhi Beckert
la source
0

J'utilise une combinaison d'AppleScript et d'une application appelée Spark . Spark est sur Github pour Homebrew Casks.

brew install Caskroom/cask/spark

Ensuite, j'utilise simplement un AppleScript pour éjecter les lecteurs et le lier au raccourci ⌘ E.

entrez la description de l'image ici

Jonathan Komar
la source
0

Pour les disques avec des partitions, j'ai trouvé que Applescript fonctionne mieux.

tell application "System Events"
  key down option
  tell application "Finder"
    with timeout of 15 seconds -- make sure we stop
      eject (every disk whose ejectable is true)
    end timeout
  end tell
  key up option
end tell
Dickster
la source
-2

Sur macOS Mojave, vous pouvez simplement sélectionner simplement les deux lecteurs que vous souhaitez éjecter et cliquer sur "CMD + E". Cela éjectera vos deux disques sans aucune invite.

Camilo Rossi
la source
1
C'est exactement ce que la question d'origine cherchait à éviter!
Jim L.