有没有办法将当前选定的文件名(包括路径)复制到剪贴板?理想情况下,可以通过右键菜单来实现。
一定程度的灵活性会很有用,例如可以仅复制文件名、路径+文件名、文件名减去扩展名等。但这并不是必需的,只要它可以复制路径+文件名即可。
该解决方案必须与 Windows XP、Windows Vista 和 Windows 7 兼容。
答案1
使用 复制文件名
或者
将文件名复制到剪贴板实用程序
Windows XP 无法将文件名列表复制到剪贴板(从 Vista 开始,Windows 的后续版本已经改变)。Microsoft 知识库文章建议编写一个小型 *.bat 文件,运行 DIR 命令,将其输出收集到文件中,打印该文件,然后删除它。这有时可能很方便,但能够选择文件列表并将它们的名称放在剪贴板上会更有用。然后您可以将它们粘贴到您需要的任何位置。
因此,这里有一个实用程序可以做到这一点。您必须自己做一些工作(但不需要太多)才能安装它。以下是说明:
- 下载可执行文件。它只有 20 KB,因此即使您使用拨号访问也只需几秒钟。将其保存在您希望其驻留在系统上的任何位置。
在“转到”中创建快捷方式
- 转到 Windows 资源管理器中 \Windows\Profiles 中您名称下的“发送到”文件夹(或者也许 XP Home 将该目录放在设置文件夹下,我不记得了)。
- 在右侧窗格中单击鼠标右键,即文件名所在的位置。选择“新建|快捷方式”。
- 出现“创建快捷方式”向导。在第一页,输入可执行文件的路径,或使用“浏览...”按钮找到它。单击“下一步”。
- 在第二页上,输入新菜单选项的名称。我使用了“文件名到剪贴板”,但您可以选择对您有意义的名称。点击“完成”
就这样,您已经安装好了。现在选择一个或多个文件,单击鼠标右键,然后将鼠标指针移到“发送到”。将出现一个子菜单,其中包含您的新命令。选择该命令,您选择的文件列表(按升序排列)将出现在剪贴板上。
答案2
从 Vista 开始,您只需按住 Shift 键并右键单击资源管理器中的文件,然后选择“复制为路径”即可:
这甚至适用于多个文件,每行一个文件放入剪贴板。
在 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.txt
或myfileandpathlist.txt
取决于您的选择。显然,没有什么可以阻止您在SendTo
目录中拥有两个批处理文件的快捷方式。
dir
要查看完整的开关列表,请dir /?
在命令行中输入或访问本网站。