当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 批量替换快捷方式目的路径的VBS脚本

VBScript
VBS取QQ或TM自动登录代码并防止关闭的脚本
VBS调用WMI快速关闭IE的脚本
查看或修改Windows系列系统的序列号的vbs
vbs adox提取数据库表名和列名的类
vbs实现的eMule电驴自动关机脚本代码
vbs判读盘符被双击的脚本
vbs下一些取特殊路径的方法总结
vbscript禁用 启用fso的方法
getSQLinfo.vbs 获得SQL数据/日志空间使用情况的脚本
高手必看的vbs的至尊境界
vbs 获取radmin注册表中的信息
vbs解答一道初中数学题i,x,y
vbs之自动安装驱动程序
让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的代码
VBS利用SendKeys输入中文字符的方法
vbs加administrator用户的代码
用vbs列出机器上所有能调用的组件
用vbs实现选择颜色
vbs选择文件夹效果代码
vbs的sort排序

VBScript 中的 批量替换快捷方式目的路径的VBS脚本


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 95 ::
收藏到网摘: n/a

可以替换指定目录及其子目录下所有的快捷方式,自己指定存放快捷方式的路径、要被替换的字符串和希望替换成的字符串,然后双击即可运行。
下面为代码,不很复杂,:)
复制代码 代码如下:
On Error Resume Next
'替换某文件夹及其子文件夹下的所有快捷方式的指向路径
strFolderPath="D:\Program Files\TrueLaunchBar\Shortcut\File\ Style" '快捷方式的路径
strToReplace="\SOFTWARE\" '被替环的字符串
strReplace="\[Software]\" '替换成的字符串
Set wshShell = CreateObject("Shell.Application")
Set wshFSO = CreateObject("Scripting.FileSystemObject")
AlterSubFolders wshFSO.GetFolder(strFolderPath)
Sub AlterSubFolders(Folder)
Set npFolder = wshShell.Namespace (Folder.Path)
Set allFiles=Folder.Files
For Each lnkFile In allFiles
'Wscript.Echo lnkFile.Name
If InStrRev(UCase(lnkFile.Name), ".LNK") <> 0 Then '扩展名是否快捷方式
Set lnkItem = npFolder.ParseName(lnkFile.Name)
Set lnkItemLink = lnkItem.GetLink
'Wscript.Echo """"&lnkItemLink.Path&""""
lnkItemLink.Path = Replace("""" & lnkItemLink.Path & """",strToReplace,strReplace)
lnkItemLink.WorkingDirectory = Replace("""" & lnkItemLink.WorkingDirectory & """",strToReplace,strReplace)
lnkItemLink.Save()
End If
Next
For Each Subfolder in Folder.SubFolders
'Wscript.Echo "Folder" & Subfolder.Path
Set npFolder = wshShell.Namespace (Subfolder.Path)
Set objFolder = wshFSO.GetFolder (Subfolder.Path)
Set allFiles = objFolder.Files
For Each lnkFile in allFiles
If InStrRev(UCase(lnkFile.Name), ".LNK") <> 0 Then '扩展名是否快捷方式
Set lnkItem = npFolder.ParseName(lnkFile.Name)
Set lnkItemLink = lnkItem.GetLink
'Wscript.Echo """"&lnkItemLink.Path&""""
lnkItemLink.Path = Replace("""" & lnkItemLink.Path & """",strToReplace,strReplace)
lnkItemLink.WorkingDirectory = Replace("""" & lnkItemLink.WorkingDirectory & """",strToReplace,strReplace)
lnkItemLink.Save()
End If
Next
AlterSubFolders Subfolder
Next
End Sub