在Mac上复制粘贴文件路径的简单方法


20

我正在执行一些漫长的过程,这些过程将需要引用位于本地以及各种外部驱动器和服务器上的文档的许多文件路径。在所有情况下,我们都使用安装了El Capitan或Sierra的Apple Mac。

我的问题 -手动输入并仔细检查文件路径是否正确需要花费很长时间。

首选解决方案 -如果只有一种将文件路径复制并粘贴到这些过程中的方法,我将非常喜欢。

我确实尝试过使用“获取信息”选项,但是看不到任何可以复制和粘贴的文件路径。

我也阅读了这个问题:获取POSIX文件路径的组件(路径和文件名),并确实使用了该脚本。这是有希望的,但是并不能完全满足我的需求。

是否有一种简单的方法可以根据需要复制和粘贴文件路径?

例如,如果我在名为Server1的外部驱动器上有一个名为“ Serial Number.jpg”的图像,则文件路径为:/Volumes/Server1/Serial Number.jpg


您过去只能使用Command +复制并将文件复制并粘贴到电子邮件中,然后将其作为可单击的超链接粘贴到电子邮件中-但是,我最近更新了Outlook和OS(在未对其进行更新之后至少2年),并且此超链接功能不再起作用。这仍然是
Aneta

Answers:


45

我认为这是一个可以完全满足您需求的选项。使用您的Serial Number.jpg示例,执行以下操作:

  1. 在Finder中浏览到Server1上名为“ Serial Number.jpg”的图像
  2. 右键单击该文件以显示上下文菜单
  3. 现在按住option
  4. 选择复制“ Serial Number.jpg”作为路径名选项
  5. 现在转到您要编辑的过程,然后粘贴刚刚复制的路径名

应该导致您的文档中/Volumes/Server1/Serial Number.jpg粘贴了路径。

不论文件是本地存储,存储在外部驱动器上还是服务器上,都只需对文件执行相同的步骤。这也可以用来获取文件夹的文件路径。

键盘快捷键

感谢Mateusz Szlosek指出您也可以使用键盘快捷键。代替上面的步骤2至4,选择文件后,您可以使用option+ command+ C快捷方式复制文件路径。然后,您可以照常粘贴。

Windows等文件

有一些自定义的实用程序,用于格式化其他操作系统和sub / afp的共享:


17
另外,用于复制文件路径的全键盘快捷键是⌥ ALT+ ⌘ CMD+ C,无需使用上下文菜单来执行此操作。
Mateusz Szlosek

1
@MateuszSzlosek“⌥”表示选项键(此符号的Unicode代码点实际上是U + 2325 OPTION KEY)。另外,在Apple制造的键盘的选项键上还印有“ alt”一词,以避免在将Apple键盘与其他操作系统一起使用时混淆(因为Apple的Command键占据了Alt键在其他键盘上的位置)。因此,在macOS键盘快捷键的上下文中,没有“ alt”之类的东西,只有选项。在Apple键盘的上下文中,该键用于选项或alt(取决于所插入的计算机)。
Slipp D. Thompson

3
alt / opt取决于您在哪里购买Apple键盘。国际人士实际上说alt,而不是opt,至少已经做了十年。美国的要么只是带有⌥符号,要么说两者都有。毫不奇怪,这令人困惑。参考:support.apple.com/HT201794-
铁通进(Tetsujin)

1
是否有所有这些秘密opt揭示的资源?
geometrikal

1
@geometrikal啊,好的。好问题。Mac上有官方的键盘快捷键页面,底部也有指向其他键盘快捷键页面的链接,但是我不确定选项键键盘快捷键是否只有一个资源。老实说,这只是我一次偶然偶然发现的。
Monomeeth

28

您可以将文件[或整个文件]拖放到文本区域中,以获取其[路径]-并非在所有应用程序中,而是在许多应用程序中,包括在终端机中,在问题解答中(&顺便提及)也在Stack Exchange上。]

某些应用程序(例如BBEdit)不支持此功能,而是将文件内容替换为完整路径。对于这些应用程序,Command“拖放”也适用。


1
+1好电话!我不知道您可以拖放到Stack Exchange中!:)
Monomeeth

1
谢谢您-这是复制并粘贴充满文件的文件夹的好方法。
ThisClark

@ThisClark-我忘了您可以拖动多个文件-添加来回答,谢谢。
-Tetsujin,

3

我最好将文件拖放到文本区域中以获取其路径(请参阅Tetsujin的回答)

如果这对您不起作用,请考虑使用Qt编写一个非常小的程序。

来自http://qtsimplify.blogspot.de/2013/01/drag-and-drop-files-into-your.html

在Qt Creator中创建一个新的“ Qt Gui应用程序”。

通过添加以下头来编辑头文件mainwindow.h:

#include <QDropEvent>
#include <QUrl>
#include <QDebug>

重新实现受保护的函数dropEvent()和dragEnterEvent()受保护:

void dropEvent(QDropEvent *ev);
void dragEnterEvent(QDragEnterEvent *ev);

在mainwindow.cpp中,添加以下行:

void MainWindow::dropEvent(QDropEvent *ev)
{
    QList<QUrl> urls = ev->mimeData()->urls();
    foreach(QUrl url, urls)
    {
        qDebug()<<url.toString();
    }
}

void MainWindow::dragEnterEvent(QDragEnterEvent *ev)
{
    ev->accept();
}

在dropEvent()函数中,您可以恢复放入应用程序的所有文件的名称。

最后,将此行添加到您的mainwindow构造函数中:

setAcceptDrops(true);

然后,例如,如果要在剪贴板中放置路径,则只需使用QClipboard将其复制到剪贴板中

QClipboard *clipboard = QGuiApplication::clipboard();
clipboard->setText(url.toString());

对于单个文件删除,以及所有文件的列表。


3

Services在Finder中使用上下文菜单“剪贴板的路径”(尽管我更经常使用QuollEyeTree的上下文菜单)。

我不确定这是默认服务还是我使用Automator创建的服务(我的日期是2012年),但是创建这样的服务并不容易,它尚不存在。


2

我用来快速获取路径的命令行解决方案是使用来自GNU Coreutils的realpath。我已经coreutils通过MacPorts进行了安装,该二进制文件称为grealpath。然后,您可以在文件上调用它,它将为您提供路径。我喜欢与它混合使用pbcopy以快速进入剪贴板:$ grealpath histograms.root | pbcopy


为什么用这种方式而不是$ pwd histograms.root | pbcopy?
哈夫

这样可以为您提供包含的目录的路径histograms.root,而不是文件本身的完整路径。您可以编写一个shell脚本来完成此操作,但是我没有。
房间

2

应用程序商店中有一个名为“ FilePath” IIRC的应用程序。单击GUI中的文件,然后单击文件路径图标,然后从菜单中选择“复制路径”。它还可以复制多个路径。如果您正在寻找更快的东西,我想您可以为该操作分配一个按键组合。

我定期使用此应用程序与同事共享同步的云存储位置。


1

获取任何文件或文件夹的信息(⌘i)。

在“ 常规”类别下三处单击“位置以突出显示路径。

在此处输入图片说明

复制(⌘c)此突出显示的文本,它将把路径放在剪贴板上。

关闭视窗(⌘w)

粘贴到需要使用的地方(⌘v)


一次只适合一个文件。
ThisClark

1

在查找器窗口中,您可以选择文件。如果取景器窗口上有齿轮外观图标,则可以按住Option键并单击该图标。一个可用的选项是复制路径名。如果选择,它将完整路径名复制到剪贴板。您不必打开文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.