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

时间:2021-05-22

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

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

复制代码 代码如下:OnErrorResumeNext
'替换某文件夹及其子文件夹下的所有快捷方式的指向路径

strFolderPath="D:\ProgramFiles\TrueLaunchBar\Shortcut\File\Style"'快捷方式的路径
strToReplace="\SOFTWARE\"'被替环的字符串
strReplace="\[Software]\"'替换成的字符串

SetwshShell=CreateObject("Shell.Application")
SetwshFSO=CreateObject("Scripting.FileSystemObject")

AlterSubFolderswshFSO.GetFolder(strFolderPath)

SubAlterSubFolders(Folder)

SetnpFolder=wshShell.Namespace(Folder.Path)
SetallFiles=Folder.Files

ForEachlnkFileInallFiles
'Wscript.EcholnkFile.Name
IfInStrRev(UCase(lnkFile.Name),".LNK")<>0Then'扩展名是否快捷方式
SetlnkItem=npFolder.ParseName(lnkFile.Name)
SetlnkItemLink=lnkItem.GetLink
'Wscript.Echo""""&lnkItemLink.Path&""""
lnkItemLink.Path=Replace(""""&lnkItemLink.Path&"""",strToReplace,strReplace)
lnkItemLink.WorkingDirectory=Replace(""""&lnkItemLink.WorkingDirectory&"""",strToReplace,strReplace)
lnkItemLink.Save()
EndIf
Next

ForEachSubfolderinFolder.SubFolders
'Wscript.Echo"Folder"&Subfolder.Path
SetnpFolder=wshShell.Namespace(Subfolder.Path)
SetobjFolder=wshFSO.GetFolder(Subfolder.Path)
SetallFiles=objFolder.Files

ForEachlnkFileinallFiles
IfInStrRev(UCase(lnkFile.Name),".LNK")<>0Then'扩展名是否快捷方式
SetlnkItem=npFolder.ParseName(lnkFile.Name)
SetlnkItemLink=lnkItem.GetLink
'Wscript.Echo""""&lnkItemLink.Path&""""
lnkItemLink.Path=Replace(""""&lnkItemLink.Path&"""",strToReplace,strReplace)
lnkItemLink.WorkingDirectory=Replace(""""&lnkItemLink.WorkingDirectory&"""",strToReplace,strReplace)
lnkItemLink.Save()
EndIf
Next

AlterSubFoldersSubfolder

Next
EndSub

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章