vbs脚本实现修改DNS和清空IE临时文件功能
今早接到山青院电话,说需要一个修改DNS为校内DNS,并且清空IE临时文件的脚本,想都没想,用批处理写了一个:
代码如下:
rem programed by Kaisir @echo off echo 本脚本的作用为修改您的DNS为山东青年政治学院专用DNS 222.194.76.2 同时帮您清除了电脑中的临时文件。若有疑问,请致电网络中心。 pause echo 修改DNS中... netsh interface ip set dns "本地连接" source=static addr=222.194.76.2 echo DNS已经修改成功,接下来将开始清空ie临时文件... pause echo 清除临时文件中... del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*" del /f /s /q "%userprofile%AppDataLocalMicrosoftWindowsTemporary Internet Files*.*" echo 全部操作已成功完成!感谢您的使用。 pause
你瞧,思路很简单,用netsh把dns改了就是了,因为要适应Win7跟Xp临时目录的不同,于是删除语句写了两遍。
但是,仔细想想,这个脚本有很多问题,
1)若用户有多块网卡,这个脚本只会修改“本地连接”的那一个。
2)若用户自己手动修改了临时文件的位置,则这个脚本也无能为力。
于是,有了下面这个vbs版的脚本。
代码如下:
'删除目录下的所有文件及文件夹 Const DeleteReadOnly = True Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.DeleteFile(net_temp&"*.*"), DeleteReadOnly strComputer = "." Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2") Set colSubfolders2 = objWMIService.ExecQuery _ ("Associators of {Win32_Directory.Name='" & net_temp & "'} " _ & "Where AssocClass = Win32_Subdirectory " _ & "ResultRole = PartComponent") For Each objFolder2 in colSubfolders2 objFSO.deleteFolder objFolder2.name , DeleteReadOnly Next MsgBox("所有操作已成功执行!") else end if
这个就比较智能了,通过winmgmts获取系统中的网卡列表,然后遍历启用的网卡,然后进行修改。而临时文件部分,也是通过读取注册表“HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folderscache”项的键值来获取文件夹位置。之后通过创建的fso对象的相应方法给他干掉~
相关推荐
lixiaotao 2020-03-05
zhuimuzhuimu 2013-04-10
山兔与孟婆 2019-12-12
hevenue 2019-11-03
michealming 2011-04-11
ICTbiubiu 2019-03-09
Phplayers 2019-09-02
红豆 2019-03-23
84246936 2019-03-20
zousy0 2016-12-15
DukeLisa 2016-09-29
梁柏林 2016-09-11
85286134 2016-09-07
82216135 2016-07-07
81296031 2016-06-22
robertzhouxh 2012-03-20
LiTOPPPP 2015-08-19
82246839 2015-08-09