欢迎来到代码驿站!

VBS

当前位置:首页 > 脚本语言 > VBS

vbs脚本实现修改DNS和清空IE临时文件功能

时间:2021-09-23 08:46:02|栏目:VBS|点击:

今早接到山青院电话,说需要一个修改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对象的相应方法给他干掉~

上一篇:vbs实现无黑框无DOS窗口隐藏批处理运行窗口

栏    目:VBS

下一篇:使用VBS实现Hosts文件一键配置实现代码

本文标题:vbs脚本实现修改DNS和清空IE临时文件功能

本文地址:http://www.codeinn.net/misctech/176952.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有