Как я могу скопировать в буфер обмена путь (или полный URL) файла или папки? [Дубликат]

11

Очень раздражает, что всегда приходится открывать Information about...окно, чтобы получить путь к папке или файлу.

Есть ли что-то вроде контекстного меню для получения urlили пути к любому файлу или папке?

Колас
источник
CMD + I? Или с помощью Finder показать строку пути к файлу? Или щелкните правой кнопкой мыши значок файла в окне Finder?
Эндрю У.
2
выберите файл и затем нажмите, удерживая клавишу alt (опция): см. «copy <name>» в качестве имени пути.
LexS

Ответы:

9

Это вроде легко.

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


Если вам нужен полный путь, вы можете легко создать службу Automator: -

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

Создать новую услугу Automator и измените « Service получает Selected » , чтобы: Файлы и папки , а также в к Finder приложения.

Добавьте действие « Копировать в буфер обмена» и сохраните сервис.

Теперь вы можете выбрать файл, щелкнуть правой кнопкой мыши, чтобы получить контекстное меню, и выбрать свой сервис в подменю Сервис.

Путь будет в буфере обмена, готовый для вставки. Вы даже можете установить сочетание клавиш для него, если хотите.

Первоначально я использовал действие Run Applescript, чтобы получить путь Posix к файлу и передать его в действие « Копировать в буфер обмена» .

Но я обнаружил, что все, что вам нужно, это передать выборку непосредственно в действие « Копировать в буфер обмена» .

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

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

Тони Уильямс
источник
2
Для использования пути в Терминале проще, если вы просто перетащите файл / папку в окно Терминала.
Thecafremo
@TonyWilliams, Хорошее место только при использовании действия Копировать в буфер обмена. Я хотел бы проголосовать за ваш ответ, но сначала я могу предложить вам отредактировать ваш ответ, чтобы просто отразить это. Используемый вами яблочный скрипт сломается, если выбрано более одного элемента. И ваше открытие охватывает как один, так и несколько вариантов.
markhunte
@markhunte К сожалению, я в течение следующих восьми часов на работе без Mac, чтобы сделать новый снимок экрана. Могу справиться с этим во время обеда :) иначе это когда я вернусь домой сегодня вечером.
Тони Уильямс
@TonyWilliams, отсортировано.
markhunte
@ markhunte Спасибо. Я как раз собирался пойти и «починить» компьютер в Студенческом офисе, чтобы у меня было 15 минут на Маке.
Тони Уильямс
11

На OS X "El Capitan",

Option+ Command+ Cвыбранный файл / папка

ИЛИ ЖЕ

  1. option щелкните правой кнопкой мыши файл / папку (в Finder)

  2. Выберите « Скопировать« файл / папку »в качестве имени пути ».

Скопируйте "файл / папку" как путь

Скопируйте путь к файлу в Finder

Теперь у вас есть возможность скопировать путь к файлу без копирования самого файла, что идеально подходит для работы с файлами, хранящимися на сервере. Чтобы скопировать путь к файлу, щелкните правой кнопкой мыши файл в Finder, а затем, удерживая нажатой клавишу «Option», выберите «Копировать как путь».

(От Apple) http://www.apple.com/osx/all-features/#other-features

Иван Чау
источник
У меня был сервис для этого, но он был глючит. +1 за упоминание El Capitan добавил это; не знал
Яфарт Агарвал
1

Вы можете назначить ярлык для скрипта следующим образом:

tell application "Finder" to set s to selection as alias list
if s is {} then return
set out to ""
repeat with f in s
    set out to out & POSIX path of f & linefeed
end repeat
set the clipboard to out

В 10.7 и 10.8 была ошибка, из-за которой было трудно получить selectionсвойство надежно, но это было исправлено в 10.9. (Средство поиска игнорировало окна, созданные после последнего перемещения фокуса в другое приложение и обратно.) Если вы используете 10.7 или 10.8, добавьте эти строки в начало скрипта:

activate application "SystemUIServer"
activate application "Finder"
LRI
источник