vbs脚本实现修改DNS和清空IE临时文件功能(vbs脚本编程简明教程 doc)学到了

随心笔谈12个月前发布 admin
95 0



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

您可能感兴趣的文章:利用vbscript脚本修改文件内容,此适用于自动化的操作中vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)使用VBS修改二进制文件HEX数据vbs通过WMI修改文件文件夹的NTFS权限vbscript获取文件的创建时间、最后修改时间和最后访问时间的方法VB简单实现防止文件被改写

© 版权声明

相关文章