可以替换指定目录及其子目录下所有的快捷方式,自己指定存放快捷方式的路径、要被替换的字符串和希望替换成的字符串,然后双击即可运行。

下面为代码,不很复杂,:)

复制代码 代码如下: 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
您可能感兴趣的文章:

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。