Как быстро извлечь все внешние разделы?

15

У меня есть внешний диск с двумя разделами, который я постоянно подключаю к своему MacBook Pro, когда нахожусь за столом. (Один для Time Machine, другой просто для дополнительного хранилища.) Иногда мне нужно быстро схватить свой ноутбук и взять его куда-нибудь, но мне нужно перейти в пространство, где я могу видеть разделы на рабочем столе, лассо их, два -переведите пальцем и выберите Eject. Есть ли более быстрый способ под Mavericks, или я должен настроить AppleScript, как этот с сочетанием клавиш?

Примечание: я не собираюсь извлекать их только тогда, когда усыпляю свой Mac (как описано здесь ). Иногда я нахожусь на экране телеканала для совместного использования экрана, и мне приходится на минуту убирать свой Mac со своего стола, если вы понимаете, о чем я :-).

Джим Л.
источник
Я использую Alfred.app для выполнения этой задачи. Это делает это так же просто, как нажимать <kbd>cmd</kbd>+<kbd>space</kbd>и печатать eject. Настоятельно рекомендуется
wrossmck
Много хороших ответов ниже. Мне трудно выбрать один из лучших.
Джим Л.
Это место не достаточно большое для нас двоих, @ JimL. Думаю, мне пора идти. (извините, я знаю, что мой комментарий не имеет значения, но я увидел его имя в другом посте и подумал: «Я этого не писал!» действительно сделал двойной дубль.
JimLohse

Ответы:

7

В OS-X Mountain-Lion я могу щелкнуть по опции один из значков «Извлечь» (удерживая нажатой, затем нажмите значок извлечения), и все внешние разделы будут извлечены.

(Обновление) Это было проверено, чтобы работать также на OS X Mavericks и даже на macOS Sierra, как я подозревал, будет. Вероятно, можно предположить, что он работает как минимум на всех промежуточных версиях (попробуйте!).

Огрский псалом33
источник
Это все еще работает при Маверикс.
Джим Л.
Это оказывается самым удовлетворительным ответом для меня. Один быстрый клавишный аккорд, и все готово. Никакого дополнительного программного обеспечения не требуется. Благодарность!
Джим Л.
2
Кажется, больше не работает над El Capitan. Кто-нибудь может подтвердить?
Маттео
@Matteo все еще работает для меня!
Джим Л.
11

Единственное предостережение для «быстрого извлечения» дисков с любой надежностью заключается в том, что они не будут извлечены, если есть используемые файлы, которые находятся на них. Тем не менее, вы можете принудительно извлечь диски, но это не было бы идеально, если файлы фактически используются.

Самый простой способ мгновенного извлечения всех дисков - это вызов Applescript (можно также создать сценарий оболочки, но Applescript легче превратить в решение для приложения одним щелчком мыши).

Итак, перейдите в ваш редактор 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)

Введите код в вашем редакторе скриптов

и сохраните сценарий как приложение, где бы вы ни выбрали (НЕ используйте /tmpпапку, как показано на рисунке) . Добавьте получившееся приложение в Dock, и вы получите Quick Eject одним щелчком мыши.

Выберите «Приложение» в качестве формата файла.

Примечание: and free space is not equal to 0часть такова, что скрипт не извлекает содержимое вашего привода CD / DVD. Удалите это, если вы хотите, чтобы любые вставленные диски также были извлечены.

dashard
источник
Я обернул это в сценарий Ruby в своем ответе здесь ... опять то же самое ...
Дэн Розенстарк
Я поместил этот Applescript для выполнения в сервисе, а затем создал сочетание клавиш в Системных настройках, и оно отлично работает.
JUIL
Это мой любимый ответ, потому что он использует нативный MacOS. Однако в действительности это не решает проблему быстрого физического отключения внешних дисков. «Мне нужно на минуту убрать свой Mac со стола». Итак, если сценарий извлекает только извлекаемые диски, а некоторые из них не были извлечены в то время - было бы здорово, если бы нас предупредили перед тем, как вынуть кабель и направиться в другую комнату!
Тишма
7

Я бы порекомендовал Альфреда . Это приложение быстрого запуска, которое включает функцию извлечения томов. Вы можете выбрать, какие цели подходят для данной команды (сетевой диск, локальный и т. Д.).

Альфред команда извлечения

Когда вы активируете ярлык, вы можете выбрать определенный объем для размонтирования. Или вы можете ввести ejectall (это ярлык настраивается).

SeanC
источник
1
Примечание: вам нужно включить эти встроенные команды Alfred, перейдя в «Настройки Alfred» -> «Система» -> «Извлечь и настройки» -> «Система» -> «Извлечь все» alfredapp.com/help/features/system
cody.codes
3

Я использую панель запуска для автоматизации этой задачи. У него есть ярлык команды «Извлечь все извлекаемые тома». Это невероятно быстро, и если вы отключите большинство правил индексирования, объем памяти и использование процессора могут быть незначительными.

Он намного мощнее, чем этот трюк, но он делает этот трюк очень хорошо, и вам, вероятно, будет хорошо использовать бесплатную версию для этой цели, поскольку вы будете использовать только один ярлык.

bmike
источник
1

если вам случается иметь одну и ту же настройку каждый раз, когда вы хотите извлечь несколько внешних дисков одновременно, вы можете использовать AppleScript / Automater и создать собственное сочетание клавиш. Подробное описание того, как это сделать, можно найти здесь: /superuser/405330/global-keyboard-shortcut-to-eject-external-hard-drive-on-mac-osx-lion

tillinberlin
источник
1

Вы можете использовать приложение строки меню Ejector http://www.macupdate.com/app/mac/12216/ejector, чтобы извлечь все извлекаемые тома. Единственная прискорбная часть для меня - то, что я не могу извлечь их, не войдя в систему.

samh
источник
1

Лично я использую Альфреда, как предложено в другом ответе. Но вот ответ Applescript , завернутый в скрипт 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

Вы должны будете поместить это в свой путь и сделать это выполнимым.

Дэн Розенстарк
источник
0

Это можно сделать изящно с помощью приложения автоматизации и с помощью функции отображения уведомлений для вывода. Просто сохраните следующее как приложение и запустите его по своему усмотрению.

введите описание изображения здесь

Абхи Беккерт
источник
0

Я использую комбинацию AppleScript и приложения под названием Spark . Искра на Github для доморощенных бочек.

brew install Caskroom/cask/spark

Затем я просто использую AppleScript, чтобы извлечь диски и привязать его к ярлыку ⌘ E.

введите описание изображения здесь

Джонатан Комар
источник
0

Для дисков с разделами я обнаружил, что следующий Applescript работает лучше всего.

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

В MacOS Mojave вы можете просто выбрать оба диска, которые вы хотите извлечь, и нажать «CMD + E». Это извлечет оба ваших диска без каких-либо подсказок.

Камило Росси
источник
1
Это именно то, чего хотел избежать исходный вопрос!
Джим Л.