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

Выберите способ получения файла быстрой командой

Используйте входные данные быстрой команды, когда вы можете выбирать файл в Finder или другой программе при каждом запуске быстрой команды. В приложении «Быстрые команды» включите запуск команды из других программ, а затем установите для принимаемого типа ввода значение Файлы. Apple широко определяет категорию «Файлы»: она включает документы, изображения, PDF, ZIP-архивы и многое другое. Принимающая программа передает отправленный объект первому действию быстрой команды. Сведения о типах входных данных в приложении «Быстрые команды» на Mac

Например, быстрая команда, обрабатывающая документ, может начинаться с полученного файла и продолжаться действием, которое извлекает текст, переименовывает его или выполняет другие операции. Главное — использовать входящий объект в качестве входных данных следующего действия, а не указывать фиксированное расположение в таких действиях, как Получить файл. Apple описывает связи действий как поток, передающий выходные данные одного действия в следующее действие. Связи действий в приложении «Быстрые команды» на Mac

Выбирайте действие Запросить ввод только тогда, когда пользователь должен ввести значение во время выполнения. Apple предусматривает его для слов, дат и чисел; это не инструмент выбора файлов. Для интерактивного выбора файла используйте передачу файла в быструю команду из другой программы или найдите действие для выбора файлов, доступное в вашем конкретном сценарии. Не указывайте путь к файлу в текстовом запросе в надежде, что «Быстрые команды» автоматически преобразуют этот текст в выбранный файл. Использование действия «Запросить ввод» в быстрой команде на Mac

Настройка ввода файлов в приложении «Быстрые команды»

  1. Откройте Быстрые команды на Mac, создайте или откройте команду и нажмите кнопку Подробнее в редакторе. Включите параметр Использовать как быстрое действие или доступный вариант для запуска команды из другой программы. Точные параметры запуска могут зависеть от версии macOS и настроек быстрой команды.

  2. В элементе управления входными данными быстрой команды нажмите на текущий принимаемый тип (часто отображается как Любые). Выберите Файлы и отключите типы, которые не требуются для выполнения задачи. Apple отмечает, что ограничения ввода определяют, когда быстрая команда появляется в параметрах отправки программы; например, команда, ограниченная контактами, не появится при отправке данных из «Карт». Ограничение типов входных данных быстрой команды при запуске из другой программы на Mac

  3. Убедитесь, что первое действие, обрабатывающее документ, использует входные данные быстрой команды. В самом действии нажмите на поле ввода и выберите входящие входные данные быстрой команды или волшебную переменную (Magic Variable), если она еще не подключена. Затем выстраивайте остальные действия далее по цепочке от этого файла. Если вы не уверены, могут ли два действия соединяться, нажмите на действие, удерживая клавишу Control, и выберите Показать сведения, чтобы проверить принимаемые типы входных и выходных данных. Связи действий в приложении «Быстрые команды» на Mac

  4. В Finder выберите тестовый файл, откройте контекстное меню или меню «Поделиться» и запустите быструю команду. Если предложено, выберите команду в качестве быстрого действия. Повторите процедуру с файлом в другой папке, чтобы убедиться, что процесс зависит от выбранного объекта, а не от конкретного расположения. Это практическая проверка вашей команды, а не гарантия того, что каждое действие поддерживает любой формат файлов.

Определите поведение при отсутствии файла

Быстрая команда, запущенная из панели Dock или другого места, где объект не предоставляется, может не получить начальных входных данных. Настройки ввода Apple позволяют выбрать, что делать в этом случае: остановить выполнение с дополнительным сообщением, запросить поддерживаемый тип ввода, получить содержимое буфера обмена или продолжить с пустым вводом. Для команды обработки файлов остановка с понятным сообщением полезна, если для продолжения работы обязательно требуется файл; продолжение же может передать пустое значение последующим действиям. Ограничение типов входных данных быстрой команды при запуске из другой программы на Mac

Если быстрая команда должна работать как из Finder, так и при отдельном запуске, настройте поведение при отсутствии ввода осознанно и протестируйте оба способа запуска. Использование буфера обмена в качестве запасного варианта имеет смысл только в том случае, если пользователи сначала скопируют нужный файл или содержимое. Не думайте, что выбор файла в Finder сделает его доступным для быстрой команды, запущенной отдельно; команда должна запускаться тем способом, который передает этот выбранный объект.

Когда фиксированный путь все еще имеет смысл

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

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

Источники