中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于"ShowLnkTarget"脚本的问题 内有网址
作者:
标题: 关于"ShowLnkTarget"脚本的问题 内有网址 上一主题 | 下一主题
eech
高级用户




积分 906
发帖 346
注册 2006-7-10
状态 离线
『楼 主』:  关于"ShowLnkTarget"脚本的问题 内有网址 使用 LLM 解释/回答一下

http://www.linuxdiyf.com/1/czxt/2006/0713/content_1241.htm

这个脚本.桌面的快捷方式.只有拨号的快捷方式有这个菜单.分区软件发到桌面的快捷方式无此菜单

如何让桌面快捷方式都有这个并能用菜单

VBS源码

'==========================================================================
'
' NAME: ShowLnkTarget.vbs
'
' AUTHOR: SleepBoy
' DATE : 2006-1-12
'
' COMMENT: 快速显示“快捷方式”中“目标”所在的位置,并把焦点停留在目标上。
'
' 安装说明:1. 放在任意目录中,直接双击脚本,即可完成安装。
' 2. 安装好之后,右键单击快捷方式,会出现一项“显示目标位置”。
' 3. 如果移动了脚本的位置,请再安装一次。
' 4. 脚本名字可以改变。改好之后,请再安装一次。
'
'==========================================================================

Option Explicit

Dim objArgs, WshShell
Set objArgs = WScript.Arguments
Set WshShell = WScript.CreateObject("WScript.Shell")

If objArgs.Count = 1 Then
ShowLnkTarget
ElseIf objArgs.Count = 0 Then
Setup
End If


'==========================================================================

Sub Setup
Dim QM
QM = """"
WshShell.RegWrite "HKCR\lnkfile\shell\ShowLnkTarget\", "显示目标位置"
WshShell.RegWrite "HKCR\lnkfile\shell\ShowLnkTarget\command\", _
QM & WScript.FullName & QM & " " & _
QM & WScript.ScriptFullName & QM & " " & _
QM & "%1" & QM
MsgBox "安装完毕!",64,WScript.ScriptName
End Sub

'---------------------------------------------------------------------------

Sub ShowLnkTarget
Dim lnkname, strComputer, objWMIService, colFiles, objFile
lnkname = Replace(objArgs(0),"\","\\")

strComputer = "."
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * From Win32_ShortcutFile WHERE Name = " & "'" & lnkname & "'")

For Each objFile in colFiles
WshShell.Run ("explorer /n, /select," & objFile.Target)
Next
End Sub

'==========================================================================


Last edited by eech on 2006-12-11 at 10:01 AM ]


2006-12-11 09:57
查看资料  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

晕,就一个lnk还要WMI。

http://www.cn-dos.net/forum/viewthread.php?tid=25053&fpage=1&highlight=%E4%BA%8C%E8%BF%9B%E5%88%B6





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-12-12 00:49
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

需要确定你桌面上的文件后缀是否为.lnk,因为它在注册表中只指定了在lnk文件上才出现该选项。你可以在右键,属性,快捷方式,下是否有“查找目标”项。没有则可能不是合法的lnk。
至于获得源文件路径,也可以试试使用wscript.shell或shell.application对象。


2006-12-12 12:08
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: