Rob*_*mme 6 windows windows-explorer uri
我正在寻找一种从 Windows 资源管理器中获取正确文件的方法:/ URI。基本上我想要一个上下文菜单条目,上面写着“将文件 URI 复制到剪贴板”。这样的东西存在吗?
这不是“将文件名复制到剪贴板”的副本,因为我想要一个文件 URI 而不是路径名。
澄清一下:我希望得到“file:///c:/Temp/foo%20bar.txt”而不是“C:\Temp\foo bar.txt”、“foo bar.txt”和“C:\温度”。
刚刚想出了这个VBS。
If WScript.arguments.count > 0 Then
Dim WshShell: Set WshShell = WScript.CreateObject("Wscript.Shell")
strPath = "file:///" & Wscript.Arguments(0)
strPath = Replace(strPath,"\","/")
strPath = Replace(strPath," ","%20")
sCmd = "%comspec% /c<nul (set/p anyvariable=" & Chr(34) & strPath & Chr(34) & ")|clip.exe"
WshShell.Run sCmd,0,0
Set WshShell = Nothing
End If
Run Code Online (Sandbox Code Playgroud)
将其另存为 .VBS 文件。将文件拖放到 VBScript 上,它会将文件的 URI 复制到剪贴板。如果需要,可以在右键菜单中实现。
它将文件名复制到内存,反转斜杠,用“%20”替换空格,并在开头附加“file:///”。这是一个基本脚本,仅支持一个文件名/参数。您可以根据需要进行修改。
将脚本添加到“发送到”文件夹
您可以将脚本的快捷方式放置在“发送到”文件夹中。按WinKey+ R,键入shell:sendto并按ENTER。在“发送到”文件夹中创建脚本的快捷方式并相应命名。(例如Copy File URI)
现在,右键单击文件,单击发送到,然后单击Copy File URI。文件路径将以如下 URI 格式复制到剪贴板。
file:///C:/Users/jack/desktop/list-of-items.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11253 次 |
| 最近记录: |