我经常需要从Windows中的文件资源管理器复制文件或目录的完整文件路径-是否有任何简便的方法?
我经常需要从Windows中的文件资源管理器复制文件或目录的完整文件路径-是否有任何简便的方法?
Answers:
您可以在运行对话框或命令提示符上拖放文件,这会将完整路径放在光标位置。
另外,您可以安装Ninotech Path Copy之类的东西,以便将其保存在默认的资源管理器上下文菜单中:
Ninotech路径复制是Windows 95、98,NT4、2000和XP的外壳扩展,可以将文件或目录的路径复制到剪贴板。然后,您可以将路径粘贴到文档,电子邮件等中。通过在Windows资源管理器中右键单击文件或目录,然后从上下文菜单中选择“复制路径”,可以复制文件或目录的路径。然后,除了您自己创建的用户定义的复制方法外,上下文菜单还提供了九种复制路径的标准方法:
当然,Col建议的甚至可能更容易?
将此文本复制并粘贴到记事本中,并以.reg扩展名保存:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Allfilesystemobjects\shell\CopyPath]
@="Copy as Path"
"Extended"=""
[HKEY_CLASSES_ROOT\Allfilesystemobjects\shell\CopyPath\command]
@=hex(2):25,00,63,00,6f,00,6d,00,73,00,70,00,65,00,63,00,25,00,20,00,2f,00,63,\
00,20,00,65,00,63,00,68,00,6f,00,20,00,22,00,25,00,31,00,22,00,7c,00,63,00,\
6c,00,69,00,70,00,2e,00,65,00,78,00,65,00,00,00
双击.reg文件,添加到注册表,然后注销并再次登录。从Microsoft的FTP站点下载Clip.exe,然后将其复制到C:\ Windows \ System32。现在,如果按住SHIFT键并右键单击文件,您将看到“ 复制为路径”子菜单项。
这是针对处于锁定企业环境中的人员的另一种解决方案,因为它不需要外部可执行文件或访问注册表。
单击开始->运行,然后输入shell:sendto
并按Enter。这将打开一个文件夹。创建一个名为的文件Clipboard (full path and filename).vbs
,并将以下代码放入其中:
Option Explicit
If WScript.Arguments.Count = 0 Then WScript.Quit
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim sFile : sFile = fso.GetAbsolutePathName(WScript.Arguments(0))
Dim sDrive : sDrive = fso.GetDriveName(WScript.Arguments(0))
Dim sMap : sMap = GetMappedDrive(sDrive)
If sMap <> "" And sDrive <> sMap Then sFile = Replace(sFile, sDrive, sMap)
Call CopyToClipboard(sFile)
Msgbox "The following path has been copied to the clipboard:" & VbCrLf & VbCrLf & sFile, 0 + 64
Set fso = Nothing
WScript.Quit
Function GetMappedDrive(sDrive)
Dim wshNetwork : Set wshNetwork = CreateObject("WScript.Network")
Dim oDrives : Set oDrives = wshNetwork.EnumNetworkDrives
Dim i
For i = 0 to oDrives.Count - 1 Step 2
If UCase(oDrives.Item(i)) = UCase(sDrive) Then
GetMappedDrive = oDrives.Item(i+1)
Exit For
End If
Next
Set oDrives = Nothing
Set wshNetwork = Nothing
End Function
Function CopyToClipboard(sText)
' Create temporary text file to avoid IE clipboard warnings
Dim sTemp : sTemp = fso.GetSpecialFolder(2) & "\" & fso.GetTempName
Dim oFile : Set oFile = fso.CreateTextFile(sTemp, True)
oFile.Write "This file can be safely deleted"
oFile.Close
Set oFile = Nothing
' Start Internet Explorer in the local zone
Dim oIE : Set oIE = CreateObject("InternetExplorer.Application")
oIE.Visible = 0
oIE.Navigate2 sTemp
Do
WScript.Sleep 100
Loop Until oIE.Document.ReadyState = "complete"
' Copy contents to clipboard
oIE.Document.ParentWindow.ClipboardData.SetData "text", sText
' Clean up
fso.DeleteFile sTemp
Set oIE = Nothing
Set fso = Nothing
End Function
如果要获取文件或文件夹的完整路径,请右键单击该项目,然后选择发送至->剪贴板(完整路径和文件名).vbs。
将会出现一个弹出窗口,告诉您完整的路径,并将其复制到剪贴板中,准备粘贴到另一个应用程序或文档中。
您可以右键单击文件或文件夹,然后转到“属性”。在那里,您既有位置又有文件或文件夹的名称。
filepath.bat
在以下文件夹中创建一个名为的文件:
C:\Documents and Settings\your_user_name\SendTo
将以下内容添加到.bat文件:
@dir %1 /b /s
@pause
要获取完整的文件路径,请右键单击文件,然后从上下文菜单中选择“发送到”。filepath.bat
将显示为一个选项。选择它,将显示一个命令提示符,显示文件的完整路径。
单击命令提示符标题栏左上方的[C:]图标,然后选择“属性”。在“选项”标签下,选中“快速编辑模式”。然后检查“修改启动此窗口的快捷方式”(仅需要执行一次)。现在,任何时候您需要知道文件的完整路径时,请右键单击它,选择“发送到”,然后选择filepath.bat
。要复制路径,请用鼠标左键拖动到链接上,然后单击鼠标右键。完整路径可以然后按Ctrl + V粘贴到任何位置。
这似乎是一个负担,但是一旦设置好,就可以很快使用。
Synesis Shell扩展中的Grab Path 非常出色,充满了有用的选项,例如以8.3格式或Unix格式进行复制(例如,可以粘贴在C或Java程序中的字符串中)。
las,它在Win7中不起作用,似乎已被放弃(2006年的最新更新!)。但是在XP上仍然很棒,由于这些选项,我将其与上面推荐的FileMenu Tools(在Win7上可用)一起使用。
记录下来,即使问题是明确针对WinXP的,我也认为分享我今天发现的一个技巧可能很有趣:在Win7中,只需按住Shift键并单击鼠标右键即可获得复制路径选项(为什么隐藏它已超出了范围)我...)。
这是先前解决方案的一个变体。XP可能是最简单的XP方式,如果您处于公司环境受限制的环境中(因为不需要注册表项),则很有用。
从Microsoft Windows 98资源工具包FTP站点下载clip.exe,并将其保存在System32文件夹(通常为C:\ WINDOWS \ System32)或PATH中。
将以下行复制并粘贴到文本编辑器中,然后将文件另存为Copy path to clipboard.bat
C:\ Documents and Settings \ [user_name] \ SendTo
@echo %~dpnx1|clip.exe
要复制完整的文件路径,请右键单击文件,然后从上下文菜单中选择“发送到”。Copy path to clipboard.bat
将显示为一个选项。左键单击并粘贴。
Windows 7
下载中clip.exe
不再需要。Clip.exe
现在是的一部分Windows
。SendTo
现在可以在“ C:\ Users \ ... \ AppData \ Roaming \ Microsoft \ Windows \ SendTo”下找到该文件夹。将快捷方式而不是.bat
文件本身存储在文件夹中。这使您可以选择一个nice(r)名称,并将命令的窗口属性设置为“隐藏”。此外,copy path
如果您按<shift>键,现在可以在资源管理器上下文菜单中访问。