可以替換指定目錄及其子目錄下所有的快捷方式,自己指定存放快捷方式的路徑、要被替換的字符串和希望替換成的字符串,然后雙擊即可運行。
下面為代碼,不很復雜,:)
復制代碼 代碼如下:
On Error Resume Next
'替換某文件夾及其子文件夾下的所有快捷方式的指向路徑
strFolderPath="D:\Program Files\TrueLaunchBar\Shortcut\File\&;Style" '快捷方式的路徑
strToReplace="\SOFTWARE\" '被替環(huán)的字符串
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
您可能感興趣的文章:- 通過vbs修改目錄名稱與快捷方式名稱的實現代碼
- 右鍵發(fā)送(sendto),創(chuàng)建快捷方式到自定義的位置 的vbs
- 批處理BAT創(chuàng)建快捷方式
- bat腳本實例實現只允許運行一個實例(安裝程序、創(chuàng)建快捷方式腳本)
- 用bat實現打開快捷方式指向的目錄
- 批處理cmd之桌面快捷方式創(chuàng)建工具
- 使用VBS創(chuàng)建快捷方式的代碼