vbs脚本实现修改DNS和清空IE临时文件功能
今早接到山青院电话,说需要一个修改DNS为校内DNS,并且清空IE临时文件的脚本,想都没想,用批处理写了一个:
remprogramedbyKaisir @echooff echo本脚本的作用为修改您的DNS为山东青年政治学院专用DNS222.194.76.2同时帮您清除了电脑中的临时文件。若有疑问,请致电网络中心。 pause echo修改DNS中... netshinterfaceipsetdns"本地连接"source=staticaddr=222.194.76.2 echoDNS已经修改成功,接下来将开始清空ie临时文件... pause echo清除临时文件中... del/f/s/q"%userprofile%LocalSettingsTemporaryInternetFiles*.*" del/f/s/q"%userprofile%AppDataLocalMicrosoftWindowsTemporaryInternetFiles*.*" echo全部操作已成功完成!感谢您的使用。 pause
你瞧,思路很简单,用netsh把dns改了就是了,因为要适应Win7跟Xp临时目录的不同,于是删除语句写了两遍。
但是,仔细想想,这个脚本有很多问题,
1)若用户有多块网卡,这个脚本只会修改“本地连接”的那一个。
2)若用户自己手动修改了临时文件的位置,则这个脚本也无能为力。
于是,有了下面这个vbs版的脚本。
'删除目录下的所有文件及文件夹 ConstDeleteReadOnly=True SetobjFSO=CreateObject("Scripting.FileSystemObject") objFSO.DeleteFile(net_temp&"*.*"),DeleteReadOnly strComputer="." SetobjWMIService=GetObject("winmgmts:"&strComputer&"rootcimv2") SetcolSubfolders2=objWMIService.ExecQuery_ ("Associatorsof{Win32_Directory.Name='"&net_temp&"'}"_ &"WhereAssocClass=Win32_Subdirectory"_ &"ResultRole=PartComponent")
ForEachobjFolder2incolSubfolders2 objFSO.deleteFolderobjFolder2.name,DeleteReadOnly Next MsgBox("所有操作已成功执行!") else endif