Элемент контекстного меню для более быстрой блокировки / разблокировки файлов в Finder

изображений

Я могу изменить статус блокировки файла («только для чтения») в контекстном меню файла:

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

Там нет пункта меню для этого.

Как я могу создать пункт контекстного меню Finder для более быстрой установки, удаления или переключения этого флага?


У нас есть несколько ответов на данный вопрос для Вас.

Лучший ответ:

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

У вас есть два варианта реализации. Выберите одно из двух действий Automator для построения рабочего процесса Service с помощью:

  • Запустить Shell Script
  • Запустите AppleScript

Код ниже реализует тумблер Команда, так как она самая сложная.

Запустить Shell Script

Этот вариант использует стат читать флаги, установленные для файла. Это те же значения, которые обычно отображаются при запуске ls -10, но стат является более чистым решением для чтения значений. Заблокированный флаг или uchg, имеет значение 0x2, вот что мы проверяем.

chflags используется для изменения значения, и growlnotify, необязательная часть рычание, используется для отображения сообщений об успехе или ошибках.

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

Используйте следующий фрагмент кода bash-скрипта как часть действия Run Shell Script:

для f в "$ @"
делать
    let "$ (stat -f"% f "" $ f ") & 0x2"
    если [$? -не 0]; затем
        chflags uchg "$ f" || / usr / local / bin / growlnotify "Ошибка" -m "Не удалось заблокировать $ f!"
        / usr / local / bin / growlnotify "Заблокированный файл" -m "$ f был заблокирован!"
    еще
        chflags nouchg "$ f" || / usr / local / bin / growlnotify "Ошибка" -m "Не удалось разблокировать $ f!"
        / usr / local / bin / growlnotify "Unlocked File" -m "$ f был разблокирован!"
    фи
сделанный

Настройте действие для получения ввода в качестве аргументов.

 Запустите AppleScript

Используйте следующий фрагмент кода AppleScript как часть действия «Выполнить AppleScript»:

при запуске {вход, параметры}
повторить с F на входе
        пытаться
            сказать приложению "Finder", чтобы установить заблокированный из f (не заблокирован из f)
        по ошибке errmsg
            сказать приложению "Finder", чтобы отобразить предупреждение errmsg
        конец попробовать
    конец повтора
конец бега

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

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


Другой ответ


Источник

Leave a Reply