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

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

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

一定程度的灵活性会很有用,例如可以仅复制文件名、路径+文件名、文件名减去扩展名等。但这并不是必需的,只要它可以复制路径+文件名即可。

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

答案1

使用 复制文件名

或者

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

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

因此,这里有一个实用程序可以做到这一点。您必须自己做一些工作(但不需要太多)才能安装它。以下是说明:

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

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

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

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

答案2

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

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

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

在 Windows 8 中,这在资源管理器功能区中显示:

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

答案3

我用MS“发送到 X”PowerToy作为 Windows 95 PowerToys 套件的一部分提供(MS下载链接)。
这会将“剪贴板作为名称”(以及“剪贴板作为内容”和其他一些选项)添加到右键单击“发送到”菜单中。
最简单的安装方法是使用 Zip 实用程序提取下载的 W95powertoy.exe,右键单击“SENDTOX.INF”并选择“安装”。您可以通过在资源管理器中打开“发送到”菜单来删除其中任何不需要的项目。

在 Windows XP 上运行良好 - 但在 Windows 7 上则不行,但正如 Johannes 所说,您可以改用“Shift + 右键单击​​”。

答案4

这是我的开源解决方案,也是免费的,如果你认为 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 /?在命令行中输入或访问本网站

相关内容