Добавление опции удаления в контекстное меню правой кнопкой мыши?

12

В Windows возможно навсегда удалить файл или папку из контекстного меню, вызываемого правой кнопкой мыши. Контекстное меню в OS X, вызываемое правой кнопкой мыши, по умолчанию не дает возможности удалить файл или папку таким способом, только опцию «Переместить в корзину», что означает, что для удаления необходимо вручную очистить корзину. файл или папка.

Поэтому возможно ли добавить эту опцию в контекстное меню, чтобы облегчить быстрое удаление?

Саймон
источник
Давайте на минуту предположим, что это было возможно сделать (что, разумеется, возможно благодаря программному обеспечению). Что бы произошло, если бы вы удалили домашнюю папку пользователя или / System?
bmike
@bmike Это может быть вопрос для сайта. Я сделаю некоторые исследования ....
Саймон
@bmike Во-первых, OS X разрешит удаление этих файлов ... несомненно, это слишком опасно !! (Я предполагаю, что существует безопасный защитный механизм для предотвращения этого). Во-вторых, с точки зрения системной папки, это будет только удалено, если новый был создан после архивации и установки OS X?
Саймон
Почему бы просто не использовать встроенную комбинацию клавиш для этого?
Подстановочный

Ответы:

15

Самый простой способ - создать свой собственный Сервис и называть его как угодно.

Я создал просто вызванную службу Delete Nowи поместил ее в свое контекстное меню, как я сделал здесь:

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

Создайте свой собственный сервис удаления

  1. Откройте Automator (/ Приложения / Утилиты / Automator) и создайте новый Сервис
    введите описание изображения здесь
  2. В правом верхнем углу выберите files or foldersвFinder
    введите описание изображения здесь
  3. На самой левой панели выберите Utilitiesи перетащите Run Shell Scriptпараметр в рабочий процесс.
    введите описание изображения здесь
  4. Измените поле «Pass input» на arguments
    введите описание изображения здесь
  5. Вставьте следующее в тело сценария оболочки
for f in "$@"
do
rm -rf "$f"
done
afplay "/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/finder/empty trash.aif"  

6. Нажмите File> Saveв строке меню и введите название службы. Как бы вы ни назвали это, это то, что он будет называться

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

Это включит его сразу в вашей системе. Если вы когда-нибудь решите, что вам это не нужно, и вам нужно заменить этот элемент, перейдите к, ~/Library/Services/и вы увидите список названных папок {servicename}.workflow. Чтобы удалить тот, который вам не нужен, просто удалите его, затем в Терминале типа

killall Finder

Это перезапустит Finder и сразу же удалит его из контекстного меню. Иначе, это прояснится при следующем перезапуске.


Добавить сочетание клавиш

Чтобы создать сочетание клавиш для созданной вами службы, выполните следующие действия.

  1. На рабочем столе, нажмите слово Finder в верхнем левом углу экрана, а затем перейти к обслуживанию > Услуги Настройки введите описание изображения здесь
  2. Прокрутите вниз список справа, пока не найдете службу, которую вы создали по имени. В этом примере вы можете видеть, Delete Allчто я сделал ранее. Выделите его и нажмите add shortcut. введите описание изображения здесь
  3. Это поднимет коробку. Убедитесь, что курсор мыши находится там, и нажмите клавиши, которые вы хотите использовать для установки ярлыка. В моем примере я использовал комбинацию Control+ Shift+ L. введите описание изображения здесь
  4. Нажмите, Show Allчтобы сохранить настройки.

Символы клавиатуры

Чтобы помочь любому новичку в символах клавиатуры Apple, вот они:

^ = Control
= Shift
= Command
=Alt/Option

Даниэль-Джеймс W
источник
2
Если вы хотите добавить предупреждение в созданную мной функцию «Удалить сейчас», перед перетаскиванием параметра «Выполнить сценарий оболочки» в рабочий процесс перетащите параметр «Запросить подтверждение» в верхней части второго столбца в Основная рабочая область и редактировать подсказку. Это даст вам двухэтапную опцию на случай, если вы нажмете на нее случайно.
Даниэль-Джеймс W
Это изображение, когда вы добавляете диалог подтверждения. Вы можете изменить его по мере необходимости: i.imgur.com/zciyUNw.png
Даниэль-Джеймс W
Выглядит многообещающе. Большое спасибо за это подробное объяснение.
Саймон
Просто исправил код. Отсутствовал for f in "$@"в начале этого.
Даниэль-Джеймс W
Цените тщательность вашего ответа.
Саймон
2

Я удивлен , что не упоминается здесь, но там есть быстрые клавиши для этого уже.

Это опция-команда-удаление .

Это работает на Эль-Капитан. Я не уверен, в какой версии OS X он был добавлен.


Этот ярлык работает из любой точки Finder (о чем этот вопрос), а также из корзины ( где я получил ответ ).

Wildcard
источник
Насколько я помню, мне кажется, что этот ярлык был как всегда в OSX.
Ален Беккер
-2

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

1 Когда вы закрываете что-либо без сохранения, и оно не было автоматически сохранено или сохранено ранее. 2 Если вы вырезали какой-либо предмет, то вырежьте другой предмет, пересекая тайник. 3 Если папка является временным файлом.

Хорошая вещь о Windows - то, что вы можете позволить корзине накапливаться, не глядя на иконку с кучей мусора. У меня есть терабайтный жесткий диск, и мне не нужно его очищать. 10 удаляемых элементов.

butthatswrong
источник
1
Shift-Delete на компьютере с Windows не перемещает файл в корзину. Это удаляет это.
Подстановочный