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 memoria extra.) A volte ho bisogno di prendere velocemente il mio laptop e portarlo da qualche parte, ma devo passare a uno spazio dove posso vedere le partizioni sul desktop, lasso, due -Finger clic e selezionare Eject . C'è un modo più veloce sotto Mavericks, o devo impostare un AppleScript come questo con una scorciatoia da tastiera ?

Nota: non sto non cercando di espellerle solo quando ho messo il mio Mac in stop (come spiegato qui ). A volte sono su una telecon di condivisione dello schermo e devo togliere il mio Mac dalla mia scrivania per un minuto, se capisci cosa intendo: -).

    
posta Jim L. 28.08.2014 - 16:30
fonte

10 risposte

7

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

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

    
risposta data 28.08.2014 - 22:04
fonte
10

L'unico avvertimento per "espellere rapidamente" i dischi con qualsiasi 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 sono, in effetti, in uso.

Il modo più semplice per espellere immediatamente tutti i dischi è richiamare un oggetto Applescript (potrebbe anche creare uno script di shell, ma Applescript è più facilmente trasformabile in una soluzione di applicazione con un clic).

Quindi vai al tuo Applescript Editor, 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)

esalvaloscriptcomeapplicazioneovunquetuscelga(NONusarelacartella/tmpcomeillustrato).Aggiungil'applicazionerisultantealDockedisponidiunespulsionerapidaconunclic.

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

    
risposta data 28.08.2014 - 17:02
fonte
5

Consiglierei Alfred . È un'app di lancio rapido che include la funzionalità di espulsione dei volumi. È possibile selezionare il tipo di target idoneo per il comando (unità di rete, locale, ecc.).

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

    
risposta data 09.09.2014 - 03:52
fonte
3

Uso la barra di avvio per automatizzare questa attività. Ha una scorciatoia di comando per espellere tutti i volumi respingibili. È incredibilmente veloce e se disattivi la maggior parte delle regole di indicizzazione, l'ingombro di memoria e l'utilizzo della CPU possono essere minimi.

È molto più potente di questo trucco, ma lo fa molto bene e probabilmente starai bene usando la versione gratuita per quello scopo dato che useresti solo quella scorciatoia.

    
risposta data 28.08.2014 - 16:45
fonte
1

Se ti capita di avere lo stesso setup ogni volta che vuoi espellere più dischi esterni in una volta, puoi usare AppleScript / Automater e creare la tua scorciatoia da tastiera. C'è una descrizione dettagliata di come fare questo qui: link

    
risposta data 28.08.2014 - 16:43
fonte
1

Puoi utilizzare l'app Ejector link per espellere tutti i volumi ejectable. L'unica parte spiacevole per me è che non posso espellerli senza effettuare il login.

    
risposta data 28.08.2014 - 17:02
fonte
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.

    
risposta data 13.11.2015 - 00:24
fonte
0

Questo può essere fatto elegantemente con un'applicazione di un automatore e usando la funzione di notifica di visualizzazione per l'output. Salva semplicemente quanto segue come applicazione e avvialo come preferisci.

    
risposta data 10.05.2016 - 11:38
fonte
0

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

brew install Caskroom/cask/spark

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

    
risposta data 03.04.2017 - 22:18
fonte
0

Per i dischi con partizioni, ho trovato che il seguente Applescript 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
    
risposta data 30.06.2018 - 20:02
fonte

Leggi altre domande sui tag