中国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"脚本的问题 内有网址

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 楼』:  

晕,就一个lnk还要WMI。

http://www.cn-dos.net/forum/view ... C%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 楼』:  

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

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

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


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



论坛跳转: