如何将文件路径复制到剪贴板?


40

有没有办法将当前选定的文件名(包括路径)复制到剪贴板?理想情况下,这将是通过右键单击菜单。

某种程度的灵活性将很有用,例如仅复制文件名,路径+文件名,文件名减去扩展名等功能。但是,这不是必需的,只要它可以复制路径+文件名即可。

该解决方案必须与Windows XP,Windows Vista和Windows 7兼容。


6
Vista和更高版本具有集成的方法来执行此操作:按住Shift键,打开所选文件的上下文菜单。将有一个名为“ 复制为路径 ”的项目
LogicDaemon 2013年

Charles现在考虑将其内置到Windows中,您是否会考虑更改已接受的答案?这将帮助其他人更轻松地找到最佳答案。
西蒙·伊斯特

我没有投票再次提出这个问题,因为接受的答案不会更改,因为它仅内置于Windows Vista及更高版本中。我看到这个问题被滥用的机会非常多。至少如果要重新打开它,则应该对其进行保护,以避免“我也是”答案。
Ramhound 2015年

1
@SimonEast该问题指出它需要与XP兼容,因此,公认的答案仍然是最合适的答案。第二个答案有更多票,直接位于被接受的答案的下面,这似乎是一个合理的折衷方案。这就是StackExchange Q / A系统设计为工作方式的方式。
Charles Roper 2015年

Answers:


5

使用 CopyFilenames

要么

将文件名复制到剪贴板实用程序

Windows XP无法将文件名列表复制到剪贴板(从Vista开始,在更高版本的Windows中已更改此文件)。Microsoft知识库文章建议编写一个小的* .bat文件,该文件运行DIR命令,将其输出收集到一个文件中,打印该文件,然后将其删除。有时这可能很方便,但是能够选择文件列表并将文件名放在剪贴板上会更加有用。然后,您可以将它们粘贴到需要的地方。

所以这是一个实用程序。要安装它,您需要自己做一些工作-但不多做。以下是说明:

  1. 下载可执行文件。它只有20 KB,因此即使您使用拨号访问,也只需几秒钟。将其保存在系统上的任何位置。
  2. 在“转到”中创建快捷方式

    1. 在Windows资源管理器的\ Windows \ Profiles中,转到您的名称下的“发送至”文件夹(或者XP Home将该目录放在Settings文件夹下,我不记得了)。
    2. 在文件名所在的右侧窗格中右键单击。选择“新建|快捷方式”。
    3. 将出现“创建快捷方式”向导。在第一页上,键入可执行文件的路径,或使用“浏览...”按钮进行查找。点击下一步”。
    4. 在第二页上,输入新菜单选项的名称。我使用“剪贴板中的文件名”,但选择对您有意义的任何东西。点击“完成”

而已; 您已经安装了它。现在选择一个或多个文件,单击鼠标右键,然后将鼠标指针移到“发送到”。将出现一个子菜单,其中包含您的新命令。选择该命令,您选择的文件列表将以剪贴板的升序排列。

资料来源:http : //members.cox.net/slatteryt/FNtoClip.html


2
该程序的严重缺陷:它无法处理Unicode文件名。使用仅将命令行参数传递到的小批处理文件clip.exe(包含在最新的Windows版本中,以前在资源工具包中提供)在这里可能会更好(如果您在控制台中使用TrueType字体)。
乔伊,

75

从Vista开始,您只需Shift +右键单击资源管理器中的文件,然后选择“复制为路径”:

        Windows 7中的“复制为路径”上下文菜单项

这甚至适用于多个文件,每行一个文件放入剪贴板。

在Windows 8中,这在资源管理器功能区中公开:

        Windows 8资源管理器“主页”选项卡上的“复制路径”按钮


6
太棒了,这应该是公认的答案。无需软件!
HaggleLad 2012年

5
太好了,让我想知道我怎么能这么长时间使用Windows而又不知道这一点。处理多个文件的奖励。
2012年

2
@HaggleLad之所以不能接受此答案,是因为原始问题中的这一行:“必须与XP,Vista和Win7兼容”。
Charles Roper 2014年

4

我使用MS“发送到X” PowerToy作为Windows 95 PowerToys集的一部分(MS下载链接)。
这会在右键单击“发送到”菜单中添加“剪贴板作为名称”(以及“剪贴板作为目录”和其他一些选项)。
最简单的安装方法是使用Zip实用程序解压缩下载的W95powertoy.exe,右键单击“ SENDTOX.INF”,然后选择“安装”。您可以通过在资源管理器中打开“发送到”菜单中的所有不需要的项目。

在Windows XP上可以正常运行-不在Windows 7上运行,但正如Johannes指出的那样,您可以改用'Shift +右键单击'。


3

我使用Ninotech路径复制。他们的网站已死,但可以在此处找到。

复制文件名有14种不同的可能性,您可以完全自定义其中5种。


+1用于PathCopy;例如,如果您需要将路径转换为正斜杠,或者仅需要不带文件名的路径,则此工具特别有用。
yalestar

太好了,正是我要找的东西,它们提供了64位DLL,所以我想它可以在Win7上运行(可以在家里尝试...)。自定义功能似乎很强大(包括搜索/替换功能!)。
PhiLho 2011年

2

我一直在寻找热键解决方案。对我来说,这些是作品:

Windows 7

  1. Ctrl-C文件
  2. 现在,如果您只想按完整路径打开文件,则可以将剪贴板内容直接粘贴(Ctrl-V)到Windows的“打开”对话框中,也可以将剪贴板内容粘贴(Ctrl-V)到地址栏,然后在Ctrl-A之后,在Ctrl-C之后以及在剪贴板中将清除完整路径

Windows 7,Windows Vista,Windows XP

AutoHotkey脚本,从此处对Ctrl + Shift + C进行了一些修改

^+c::
Clipboard := gst()

if !IsClipEmpty

ClipWait, 0.5, 1


gst() {   ; GetSelectedText or FilePath in Windows Explorer  by Learning one 

IsClipEmpty := (Clipboard = "") ? 1 : 0

if !IsClipEmpty {

    ClipboardBackup := ClipboardAll

    While !(Clipboard = "") {

        Clipboard =

        Sleep, 10

    }

}

Send, ^c

ClipWait, 0.1

ToReturn := Clipboard, Clipboard := ClipboardBackup

if !IsClipEmpty

ClipWait, 0.5, 1

Return ToReturn

}



1

我们中有些人在工作时没有自由下载/安装/编译C ++的权利,因此这里有一个免下载,免安装,免代码的解决方案。我仅使用Windows XP SP3对此进行了测试:

  • 打开命令提示符。
  • 将您要列出的文件放置在目录中。
  • 右键单击命令提示符窗口上的任意位置,然后选择“全选”。
  • 按下[enter]键(这将有效地将命令提示符的输出复制到剪贴板)。
  • 将剪贴板的内容粘贴到所需的位置(我建议使用Excel,以便可以“文本到列”并使其成为适当的表)。

1

StExBar在复制文件名,路径等时为您提供了一些灵活性和可定制性,以及各种其他功能。

在此处输入图片说明


1

对于仍在使用Windows XP的任何人(像我一样,被迫工作),以下过程适用于复制单个文件名而无需任何其他软件:

  1. 右键单击Windows资源管理器列表中的所需文件

  2. 点击下拉菜单中的“属性”

  3. 在“常规”选项卡顶部的框中突出显示文件名

  4. CTRL-C复制文件名,然后关闭“属性”窗口

  5. CTRL-V将文件名粘贴到所需的位置。


1

突出显示文件后,FreeCommander提供以下3个选项:

  1. 复制全名作为文本
  2. 将名称复制为文本
  3. 复制完整路径为文本

1

如果您认为Windows是免费的,这是我的开源解决方案,也是免费的:)

创建一个批处理文件,例如listfiles.bat。将以下任一内容放入文件中:

文件名

set mylist=myfilelist.txt
set tempfile=tmp.txt
set diroptions=/a /b

set fullpath=%1
for %%i in (%fullpath%) do set path=%%~dpi
cd %path%

if exist %mylist% del %mylist%
if exist %tempfile% del %tempfile%

dir %diroptions% > "%path%%mylist%"

for /f "usebackq delims=" %%a in ("%mylist%") do (
if not "%%a"=="%mylist%" (
echo %%a >> %tempfile%
)
)

del %mylist%
ren %tempfile% %mylist%

路径和文件名

set mylist=myfileandpathlist.txt
set tempfile=tmp.txt
set diroptions=/a /b /s

set fullpath=%1
for %%i in (%fullpath%) do set path=%%~dpi
cd %path%

if exist %mylist% del %mylist%
if exist %tempfile% del %tempfile%

dir %diroptions% > "%path%%mylist%"

for /f "usebackq delims=" %%a in ("%mylist%") do (
if not "%%a"=="%path%%mylist%" (
echo %%a >> %tempfile%
)
)

del %mylist%
ren %tempfile% %mylist%

现在在C:\Documents and Settings\<username>\SendTo目录中创建该文件的快捷方式。转到要从中获取文件列表的目录。右键单击任何文件,然后选择Send To -> Shortcut to listfiles.bat。文件列表将被写入myfilelist.txtmyfileandpathlist.txt取决于您的选择。显然,没有什么可以阻止您在SendTo目录中拥有两个批处理文件的快捷方式。

有关dir开关的完整列表,请dir /?在命令行上键入或访问此网站


1

这是简单的AutoHotkey脚本,它将所有命令行参数复制到剪贴板(由换行符分隔)。与其他解决方案一样,它可以通过“ 发送到”菜单工作,因此请为其添加快捷方式"%USERPROFILE%\SendTo"(或者,如果启动时不带参数,它将为您完成此操作)。

要运行它,请粘贴到记事本,然后保存到"%USERPROFILE%\SendTo\CopyToClipboard.ahk"。另外,您将需要安装AutoHotkey 1.1直接dl),它是FOSS。

#NoEnv
#NoTrayIcon
#SingleInstance force

If %0%
{
    Loop %0%  ; For each parameter:
        AllArguments .= ( A_Index > 0 ? "`r`n" : "") . %A_Index%
    ;MsgBox %AllArguments%
    Clipboard = %AllArguments%
    ToolTip Copied paths: %0%
} Else {
    MsgBox 68, %A_ScriptName%, This script copies command line arguments to clipboard. Intended to be used as Send To target`, so shourtcut to one should be in Send To.`n`nCreate the shourtcut?
    IfMsgBox Yes
    {
        EnvGet UserProfile, UserProfile
        FileCreateShortcut %A_AhkPath%, %UserProfile%\SendTo\Names to Clipboard.lnk,, %A_ScriptFullPath%, Copies file names (with paths) to clipboard.
    }
}

Sleep 1500

1

在Windows 7中正常工作。

复制整个文件列表

步骤1按住“ Shift”键,右键单击包含文件列表的文件夹,然后选择“在此处打开命令窗口”。

步骤2在“命令提示符”窗口中键入“ dir / b> filenames.txt”(不带引号)。按“ Enter”。

步骤3双击先前选择的文件夹中的“ filenames.txt”文件,以查看该文件夹中的文件名列表。

步骤4按“ Ctrl-A”,然后按“ Ctrl-C”,将文件名列表复制到剪贴板。

提示准备粘贴文件名时,请在适当的程序中单击粘贴位置,然后按“ Ctrl-V”。


0

我喜欢Stefan Bertels撰写的ClipboardPath。其他大多数工具都将其隐藏在“发送至”子菜单中,我很少使用它。ClipboardPath将其放置在上下文菜单顶部附近,如果您想要完整的网络路径(非常有用),只需在选择“复制路径”之前按住Control键即可。


0

我编写了一个名为fnamecopy的免费/开源.NET应用程序来完成此操作。这非常简单,没有右键单击集成,您只需将要用作路径的文件/文件夹拖到一个小窗口中,然后选择要用作路径的文件/文件夹即可。它的骨头很裸露,但是可以帮我完成工作。

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.