无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2651|回复: 6
打印 上一主题 下一主题

如何让PE支持ShowLnkTarget的VBS脚本?

[复制链接]
跳转到指定楼层
1#
发表于 2008-7-11 06:59:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在XP上安装一个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\", "显示目标位置(&F)"
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

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

将以上代码保存为ShowLnkTarget.vbs放在任意位置运行后就会自动安装。

但是在PE上安装使用后,选择【显示目标位置】提示:



怀疑是
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

这部分代码不能运行,不知道如何才能解决?

2#
发表于 2008-7-11 08:42:39 | 只看该作者
看上去像WMI的问题。
PE中没有WMI服务,调用WMI的脚本自然无法执行。

[ 本帖最后由 yichya 于 2008-7-11 08:43 编辑 ]
回复

使用道具 举报

3#
发表于 2008-7-11 10:00:56 | 只看该作者
精簡內核的都沒這個功能, 要 wmi 必須自建內核, pebuilder + xpe 插件便成.
回复

使用道具 举报

4#
发表于 2008-7-12 10:01:43 | 只看该作者
使用这个功能没有必要使用WMI吧,使用WshShell自带的就可以实现了,调用WMI太麻烦.
发一个改进版.楼主可以试下

  1. Option Explicit
  2. Dim objArgs, WshShell
  3. Set objArgs = WScript.Arguments
  4. Set WshShell = WScript.CreateObject("WScript.Shell")
  5. If objArgs.Count = 1 Then
  6.     WshShell.Run ("explorer /n, /select,"  & WshShell.CreateShortcut(objArgs(0)).TargetPath)
  7. ElseIf objArgs.Count = 0 Then
  8.     Setup
  9. End If

  10. '==========================================================================
  11. Sub  Setup
  12.     Dim QM
  13.     QM = """"
  14. WshShell.RegWrite "HKCR\lnkfile\shell\ShowLnkTarget", "显示目标位置(&F)"
  15. WshShell.RegWrite "HKCR\lnkfile\shell\ShowLnkTarget\command", _
  16. QM & WScript.FullName & QM & " " & _
  17. QM & WScript.ScriptFullName & QM & " " & _
  18. QM & "%1" & QM
  19. MsgBox "安装完毕!",64,WScript.ScriptName
  20. End Sub
复制代码
回复

使用道具 举报

5#
发表于 2008-7-12 16:12:53 | 只看该作者
用REG ADD命令不就可以解决了?或者直接用PECMD改注册表好了。
回复

使用道具 举报

6#
 楼主| 发表于 2008-7-13 02:00:47 | 只看该作者
太爱chenall 同志了。。吼吼!!
呵呵,因为本人对VBS脚本没有多深的钻研。。。
以后多多请教。。。
回复

使用道具 举报

7#
发表于 2011-1-16 14:05:18 | 只看该作者
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\lnkfile\shell]

[HKEY_CLASSES_ROOT\lnkfile\shell\File Location]
@="快速定位"

[HKEY_CLASSES_ROOT\lnkfile\shell\File Location\command]
@="explorer.exe /n,/select,\"%1\""

这样为什么不行?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-27 18:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表