Board logo

标题: 转一个实用的vbs [打印本页]

作者: ebfok     时间: 2007-12-24 22:46    标题: 转一个实用的vbs

'==========================================================================
'
' NAME: ShowLnkTarget.vbs
'
' COMMENT: 快速显示“快捷方式”中“目标”所在的位置,并把焦点停留在目标上。
'========================================================================

'Windows Registry Editor Version 5.00
'
'[HKEY_CLASSES_ROOT\WScript.Shell]
'@="Windows Script Host Shell Object"
'
'[HKEY_CLASSES_ROOT\WScript.Shell\CLSID]
'@="{72C24DD5-D70A-438B-8A42-98424B88AFB8}"
'
'[HKEY_CLASSES_ROOT\WScript.Shell\CurVer]
'@="WScript.Shell.1"
'
'
'
'在“开始→ 运行”里输入“regsvr32 WSHom.Ocx”(不包括双引号)
'==========================================================================
' 安装说明:
'              1. 放在任意目录中,直接双击脚本,即可完成安装。
'              2. 安装好之后,右键单击快捷方式,会出现一项“显示目标位置”。
'              3. 如果移动了脚本的位置,请再安装一次。
'              4. 脚本名字可以改变。改好之后,请再安装一次。
'==========================================================================
'卸载:下列代码保存为REG
'REGEDIT4
'
'[-HKEY_CLASSES_ROOT\lnkfile\shell\ShowLnkTarget]
'
'
'==========================================================================

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

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