Как скопировать путь к файлу в Finder?

Как скопировать путь к папке или файлу? Информационный диалог не позволяет мне копировать информацию, которая там стоит...

альтернативный текст

Есть простой способ сделать это?

Вы не можете выделить значение рядом с «Где:» и нажать CMD+c, чтобы скопировать его?
@ayaz подумайте о том, чтобы написать это как ответ, так как это, вероятно, лучший способ сделать то, о чем он просит :)
на какой ты версии? Если я щелкну правой кнопкой мыши по пути, я получу стандартное меню редактирования с Copyним .

Ответы (11)

Щелкните правой кнопкой мыши файл, удерживайте нажатой Alt/Option, и элемент для копирования пути к файлу появится как Copy "<FILENAME>" as Pathname.

Это самый простой вариант для повседневного использования без использования Automator.

Похоже, это относительно новая функция, добавленная в OS X El Capitan. (Это также работает на macOS Sierra).

еще более простой вариант — щелкнуть меню Finder Edit , нажать клавишу Option , а затем « Копировать xyz » превратится в « Копировать xyz» в качестве имени пути — это проще, чем щелчок правой кнопкой мыши, для которого требуется дополнительный палец.
Интересно, приятно знать! Я думаю, это проще, если вы используете контроль + клик. Я всегда использую касание трекпада двумя пальцами или физический щелчок правой кнопкой мыши.
Примечание. Выполнение Alt+щелчок правой кнопкой мыши (удерживая клавишу Alt во время щелчка правой кнопкой мыши) не работает; вам нужно щелкнуть правой кнопкой мыши, а затем удерживать клавишу Alt.
или просто opt+cmd+Cсочетание клавиш
@JonSchneider для меня не имеет значения, когда вы нажимаете клавишу Alt — пока вы в конечном итоге нажимаете ее, пока отображается контекстное меню, опция появится

Начиная с El Capitan (OS X v10.11), это очень просто:

  1. Выберите элемент (ы) в Finder
  2. Нажмите Command- Option- C(или удерживайте Optionклавишу нажатой и выберите меню "Правка" > "Копировать [любое] как имя пути".
Должен быть способ закрепить это наверху как «Лучший ответ, который не был доступен в то время, когда был задан вопрос».
О да, это оно. Все ответы были о копировании пути, сначала выбрав папку, но я хотел, чтобы путь находился внутри папки. Я открыл папку, я здесь, я хочу путь. Command-Option-C решает проблему. Добавлено на сенсорную панель ;d

Как уже было описано ayaz, окно Get Info ( cmd+ i) имеет полный путь и позволит вам скопировать его. Если вы трижды щелкните в выделенной области (рядом с красным прямоугольником), выделение автоматически расширится до всего пути. cmd+ cбудет достаточно скопировать его в буфер обмена.

получить информационное окно

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

ОБНОВЛЕНИЕ : этот метод, по-видимому, действителен только для OS X 10.6.x, в предыдущих версиях OS X использовался стиль пути, отличный от POSIX, который выглядел как путь: к: файлу, тогда как POSIX будет путь/к/файлу. Если вы используете что-то старше OS X 10.6, вам придется попробовать один из других методов, описанных в других ответах (или перейти на 10.6;)

Я не знаю почему, но это не работает для меня. В этом диалоге вообще нет выбора.
Какая у вас версия ОС?
У меня это тоже не работает, работает 10.5.8
Неработающий метод info может быть проблемой 10.5 и 10.6. Я только что впервые заметил, что отображаемый путь - это стиль POSIX, а не давний стиль «путь: к: файлу».

Есть два способа сделать это (и информационное окно не является ни одним из них):

  1. Откройте приложение «Терминал» и перетащите элемент в окно, после чего отобразится путь в стиле POSIX, который можно скопировать и вставить.
  2. Используйте эпплскрипт...

...выберите элемент в Finder и запустите это...

tell application "Finder"
    return info for selection as alias
end tell

...или создайте дроплет с этим кодом...

on open theFile
   set thePath to POSIX path of theFile
   set the clipboard to thePath as text
end open

Добавьте соль по вкусу.

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

Лучший и самый простой способ сделать это — создать службу «копировать путь», очень похожую на shiftщелчок правой кнопкой мыши на компьютере с Windows.

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

Выполните следующие действия, чтобы настроить его (скриншоты ниже).

  1. Запустить автоматизатор
  2. Создайте новый «Сервис»
  3. Используйте функцию поиска, чтобы найти «Копировать в буфер обмена» и перетащите его на правую панель набора служб «Служба получает выбранные» в «файлы или папки» и «в» в «Поиск».
  4. Сохраните службу под именем «Копировать путь».

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

Результат:

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

Теперь у вас будет текстовый путь в буфере обмена.

Источники: CNet , OSX Daily .

Это должен быть правильный ответ. Позор, что Apple не включила такую ​​​​простую конфигурацию, как по умолчанию ... MSFT потребовалось 5 лет, чтобы реализовать копию как пункт меню справа после бесчисленных взломов regedit и dll, которые были изобретены сообществом ... такой хороший пример Дело в том, что крупные компании не очень внимательно изучают потребности своих клиентов...
В Мохаве Serviceтеперь называется Quick action(отличное нововведение, само собой).
Я проголосовал за это, несмотря на то, что шаг 3 - это кошмар предложения, которое невозможно понять. Надеюсь, вы сможете отредактировать этот шаг, чтобы я (и другие возможные пользователи) могли заставить его работать.

Просто перетащите файл в текстовый редактор, и он даст вам полный путь к этому файлу.

Способ 1. В macOS удержание ALT key(⌥) часто показывает дополнительные параметры в контекстных меню. Copy "item" as Pathname. Деталь https://apple.stackexchange.com/a/318007/302207 деталь


Способ 2. Если вы используете TotalFinder, вы можете разрешить копирование путей из контекстных меню .

TotalFinder позволяет очень легко фиксировать различные форматы пути для выбранного объекта. Щелкните правой кнопкой мыши любой файл или папку, выберите «Копировать путь» и выберите формат пути, который вы хотите скопировать в буфер обмена.

images_context-меню-путь

Путь установки TotalFinder:

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

Вот как создать службу для копирования в буфер обмена выбранных путей в Finder:

  1. Откройте Автоматизатор. Нажмите ⌘+N и выберите Сервис.
  2. Установите «Сервис получает выбранный files or foldersв Finder.app».
  3. Перетащите элемент «Запустить сценарий оболочки» в окно.
    Примечание. Вы можете выбрать этот элемент, если перейдете в левую часть окна и щелкните «Действия», «Библиотека» и введите часть имени в поле поиска.
  4. Установите «Shell: /bin/bash», «Pass input: as arguments» и введите в поле сценария следующее: for f in "$@" do echo "$f" done.
  5. Перетащите элемент Копировать в буфер обмена.
  6. Сохраните свой сервис ~/Library/Services/Copy POSIX Paths.workflow(или любое другое имя, которое вам нравится).

Теперь вы сможете запустить эту службу, если щелкнете элемент правой кнопкой мыши и выберите Службы > Копировать пути POSIX. Он скопирует файлы, выбранные в Finder, в буфер обмена. Я проверил это на Льве.

Автоматизатор

Я получил этот совет из блога Криса Джонсона .

Я перенесу свой комментарий в качестве ответа.

Вы должны иметь возможность скопировать путь к папке/файлу, выделив значение рядом с «Где:» в информационном диалоговом окне и нажав CMD+c.

Более простая альтернатива, требующая меньших усилий, — щелкнуть правой кнопкой мыши это значение и выбрать «Копировать» в появившемся раскрывающемся списке.

У меня не работает...
  1. Запустить автомат
  2. Создать новую услугу
  3. Настройте службу для получения файлов и папок в поисковике и добавьте элемент запуска applescript.
  4. Вставьте этот скрипт

    on run {input, parameters}
    set mylist to {}
    repeat with elem in input
        try
            set the end of mylist to (POSIX path of (elem as alias))
        end try
    end repeat
    set oldtid to AppleScript's text item delimiters
    
    
    set AppleScript's text item delimiters to {return}
    set flatlist to mylist as text
    
    
    set AppleScript's text item delimiters to oldtid
    
    
    tell application "Finder" to set the clipboard to flatlist
    
    
    -- code below will also create an email with the path inside. delete it if you don't want that.
    tell application "Microsoft Entourage"
        set theMessage to make new outgoing message with properties {subject:myFileName, content:flatlist}
        open theMessage
        activate
    end tell
    end run
    
  5. Сохраните результат как «путь копирования и электронной почты» или что-то в этом роде.
  6. Теперь проверьте меню ctrl-click и меню служб. Красивый!

Иногда решение так просто.

Просто отметьте файл в Finder и нажмите Command-C. Путь, включая имя файла, копируется в буфер обмена, и вы можете вставить его в любое приложение.

Я просто получил имя файла в буфере обмена. Как получить полный путь?
В Finder щелкните один раз имя файла или значок, чтобы файл был выделен (если вы можете изменить имя файла сейчас, вы часто нажимали и должны нажать Escape, чтобы отменить операцию переименования). Затем нажмите Command-C.
у меня тоже не работает, просто копируется имя файла.
Я только что проверил это. Он работает при вставке в терминал, но не в TextEdit. Перетаскивание файла в Терминал вставляет имя файла и путь. Дито в TextEdit. А как насчет других приложений?