Come espellere rapidamente tutte le partizioni esterne?


15

Ho un disco esterno con due partizioni su di esso che tengo collegato al mio MacBook Pro quando sono alla mia scrivania. (Uno è per Time Machine, l'altro solo per spazio extra.) A volte ho bisogno di prendere il mio laptop rapidamente e portarlo da qualche parte, ma devo passare a uno spazio in cui posso vedere le partizioni sul desktop, lazarle, due -finger clic e selezionare Eject. Esiste un modo più rapido con Mavericks o devo configurare un AppleScript come questo con una scorciatoia da tastiera?

Nota: Sto non cercando di espellere queste solo quando ho messo il mio Mac a dormire (come esplorato qui ). A volte sono su una teleconferenza di condivisione dello schermo e devo portare il mio Mac dalla mia scrivania per un minuto, se sai cosa intendo :-).


Uso Alfred.app per fare questo compito. Lo rende facile come premere <kbd>cmd</kbd>+<kbd>space</kbd>e digitare eject. Altamente raccomandato
wrossmck

Molte buone risposte di seguito. Sto facendo fatica a sceglierne uno come il migliore.
Jim L.

Questo posto non è abbastanza grande per noi due, @ JimL. Immagino che dovrò andare. (scusate, so che il mio commento è irrilevante, ma ho visto il suo nome su un altro post e ho pensato: "Non l'ho scritto!" Davvero fatto un doppio giro.
JimLohse,

Risposte:


7

Su OS-X Mountain-Lion, posso fare clic su una delle icone "Espelli" (tieni premuta l'opzione, quindi fai clic sull'icona di espulsione) e verranno espulse tutte le partizioni esterne.

(Aggiornamento) Questo è stato verificato per funzionare anche su OS X Mavericks e persino su macOS Sierra, come sospettavo. Probabilmente si può presumere che funzioni almeno su tutte le versioni intermedie (provalo!).


Funziona ancora con Mavericks.
Jim L.

Questa risulta essere la risposta più soddisfacente per me. Un rapido accordo chiave ed è fatto. Nessun software aggiuntivo necessario. Grazie!
Jim L.

2
Sembra non funzionare più su El Capitan. Qualcuno può confermare?
Matteo

@Matteo Funziona ancora per me!
Jim L.

11

L'unico avvertimento per "espellere rapidamente" i dischi con una certa affidabilità è che non verranno espulsi se ci sono file in uso che risiedono su di essi. Detto questo, puoi forzare l'espulsione dei dischi, ma non sarebbe l'ideale se i file fossero effettivamente in uso.

Il modo più semplice per espellere istantaneamente tutti i dischi è invocare un Applescript (potrebbe anche creare uno script di shell, ma Applescript si trasforma più facilmente in una soluzione applicativa con un clic).

Quindi vai al tuo Editor di Applescript, incolla quanto segue:

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

Inserisci il codice nel tuo Script Editor

e salva lo script come applicazione ovunque tu scelga (NON usare la /tmpcartella come illustrato) . Aggiungi l'applicazione risultante al tuo Dock e avrai un espulsione rapida con un clic.

Seleziona "Applicazione" come formato di file

Nota: la and free space is not equal to 0parte è in modo tale che lo script non espelle il contenuto dell'unità CD / DVD. Rimuovilo se desideri che anche i dischi inseriti vengano espulsi.


L'ho racchiuso in una sceneggiatura di Ruby nella mia risposta qui ... ancora una volta la stessa cosa ...
Dan Rosenstark,

Ho messo questo Applescript da eseguire in un servizio e poi ho creato una scorciatoia da tastiera nelle Preferenze di Sistema e funziona perfettamente.
juil

Questa è la mia risposta preferita perché utilizza materiale MacOS nativo. Tuttavia, in realtà non risponde alla necessità di disconnettere fisicamente rapidamente unità esterne. "Devo portare il mio Mac lontano dalla mia scrivania per un minuto". Quindi, se lo script espelle solo unità espulse e alcune non erano espulse in quel momento - sarebbe bello se fossimo avvertiti prima di rimuovere il cavo e dirigerci verso un'altra stanza!
tishma,

7

Consiglierei Alfred . È un'app di avvio rapido che include la funzione di espulsione dei volumi. È possibile selezionare il tipo di destinazioni idonee per il comando (unità di rete, locale, ecc.).

comando espulsione alfred

Quando si attiva il collegamento, è possibile selezionare un volume specifico da smontare. Oppure puoi digitare ejectall (questo nome di scelta rapida è personalizzabile).


1
Nota: dovrai abilitare questi comandi Alfred integrati andando su Preferenze Alfred -> Sistema -> Espelli e Preferenze -> Sistema -> "Espelli tutto" alfredapp.com/help/features/system
cody.codes

3

Uso la barra di avvio per automatizzare questo compito. Ha una scorciatoia di comando per espellere tutti i volumi espulsi. È incredibilmente veloce e se disattivi la maggior parte delle regole di indicizzazione, il footprint di memoria e l'utilizzo della CPU possono essere minuscoli.

È molto più potente di questo trucco, ma lo fa molto bene e probabilmente staresti bene usando la versione gratuita a tale scopo dal momento che useresti solo quella scorciatoia.




1

Personalmente, sto usando Alfred come suggerito in un'altra risposta. Ma ecco la risposta di Applescript , racchiusa in uno script di 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

dovrai metterlo nel tuo percorso e renderlo eseguibile.


0

Questo può essere fatto elegantemente con un'applicazione di automazione e utilizzando la funzione Display Notification per l'output. Basta salvare quanto segue come applicazione e avviarlo come preferisci.

inserisci qui la descrizione dell'immagine


0

Uso una combinazione di AppleScript e un'applicazione chiamata Spark . Spark è su Github per Homebrew Casks.

brew install Caskroom/cask/spark

Quindi uso solo un AppleScript per espellere le unità e collegarlo al collegamento ⌘ E.

inserisci qui la descrizione dell'immagine


0

Per i dischi con partizioni, ho trovato il seguente Applescript che funziona meglio.

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

-2

Su macOS Mojave, puoi semplicemente selezionare entrambe le unità che desideri espellere e fare clic su "CMD + E". Questo espellerà entrambi i dischi senza alcuna richiesta.


1
Questo è esattamente ciò che la domanda originale stava cercando di evitare!
Jim L.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.