重装系统硬盘盘符变动,批量修改快捷方式的路径的VBS代码

重装系统硬盘盘符变动,批量修改快捷方式的路径的VBS代码

Vanish
2012-02-29 / 2 评论 / 3,221 阅读 / 正在检测是否收录...

大家在重装系统,或者是修改硬盘盘符时经常会遇到,很多快捷方式路径需要修改,下面就教童鞋们批量修改的方法。

1.首先创建一个文本txt,输入如下代码(注意看注释):

Option Explicit
Dim oldpath,newpath
''''''''''''''''说明'''''''''''''''''
'作用:批量修改快捷方式的“目标”和“起始位置”
'使用方法:和需要修改的快捷方式放在同一个文件夹执行
'''''''''''''''说明完'''''''''''''''''
oldpath = "F:\"      '设置原路径中将被替换的内容
newpath = "E:\"      '设置新路径中要使用的内容
Dim Wsh,fso
Set Wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim ji_1,ji_2,Folder
ji_1 = 0
ji_2 = 0
Folder = Wsh.CurrentDirectory
if Ask("将要修改"&chr(34)& Folder &chr(34)&"里的所有快捷方,是否继续") then
   Dim f,fc,f1,ext
   Set f = fso.GetFolder(Folder)
   Set fc = f.Files
   For Each f1 in fc
      ext = LCase(fso.GetExtensionName(f1))
      if ext = "lnk" then
         ji_1 = ji_1 + 1
         call Doit(f1)
      end if
   Next
end if
Set WSH = Nothing
msgbox "找到 "&ji_1&" 个快捷方式"&vbCrLf&"修改 "&ji_2&" 个快捷方式",64,"执行完毕!"
WScript.quit
Sub Doit(strlnk)
Dim oShlnk
   Set oShlnk = Wsh.CreateShortcut(strlnk)
If Instr(oShLnk.TargetPath,oldpath) > 0 Then
       oShLnk.TargetPath = Replace(oShLnk.TargetPath,oldpath,newpath)
       oShLnk.WorkingDirectory = Replace(oShLnk.WorkingDirectory,oldpath,newpath)
       oShLnk.Save
       ji_2 = ji_2 + 1
End If
   Set oShLnk=NoThing
End Sub
Function Ask(strAction)
   Dim intButton
   intButton = MsgBox(strAction,vbQuestion + vbYesNo,"询问")
   Ask = intButton = vbYes
End Function

2.然后将文本重名为“.vbs”格式的后缀,将次文件放到需要修改的快捷方式放在同一个文件夹执行就OK了!

0

评论

博主关闭了所有页面的评论