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

15

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

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

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

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

Ответы:

21

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

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

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

Скелет Лук
источник
9

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

окно информации

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

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

Мартин Маркончини
источник
Я не знаю почему, но это не работает для меня. В этом диалоговом окне нет выбора.
Пьер Уатле
Какая у вас версия ОС?
Мартин Маркончини,
Это также не работает для меня, работает 10.5.8
KeithB
Информационный метод не работает может быть проблема 10,5 против 10,6. Я просто впервые заметил, что путь отображается в стиле POSIX, а не в стиле "path: to: file".
Филипп Реган
8

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

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

... выберите элемент в 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

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

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

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

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

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

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

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

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

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

Результат:

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

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

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

wynshaft
источник
Это должен быть правильный ответ. Жаль, что Apple не включила такой простой conf, как по умолчанию ... MSFT потребовалось 5 лет, чтобы реализовать копию как пункт меню «Путь к правой части» после того, как сообщество изобрело бесчисленные взломы regedit и dll ... такой хороший пример
Йордан Георгиев
В Мохаве Serviceсейчас называется Quick action(великое новшество, само собой разумеется.)
Фабьен Снауварт
3

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

Вивекан и Гупта
источник
2

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


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

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

images_context-меню путь

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

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

л минчжи
источник
1

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

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

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

Automator

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

Яно
источник
0

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

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

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

Аяз
источник
У меня не работает ...
Пьер Уатле
0
  1. Запустить автомат
  2. Создать новый сервис
  3. Установите службу для получения файлов и папок в поисковике и добавьте элемент запуска applecript
  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 и меню ваших услуг. Ницца!
Антон
источник
0

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

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

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