使用vbs删除host文件域址内容(vb中删除)深度揭秘

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


‘该脚本要求执行用户有本地管理员权限
Const ForReading=1, ForWriting=2, ForAppending=8, ReadOnly=1
Set fso=CreateObject(“Scripting.FileSystemObject”)
Set WshShell=CreateObject(“WScript.Shell”)
‘WinDir 为windows安装目录
WinDir=WshShell.ExpandEnvironmentStrings(“%WinDir%”)
‘设定host 文件目录

HostsFile=WinDir & “\System32\Drivers\etc\Hosts”
‘检查host文件是否为只读,如为只读,则修改文件属性
Set objFSO=CreateObject(“Scripting.FileSystemObject”)
Set objFile=objFSO.GetFile(HostsFile)
If objFile.Attributes And ReadOnly Then
objFile.Attributes=objFile.Attributes Xor ReadOnly
End If

Set objFSO=CreateObject(“Scripting.FileSystemObject”)
Set objFile=objFSO.OpenTextFile(HostsFile, ForReading,true)

‘检查host文件里面是否已经更改过了,如果更改过,则不再执行脚本
hostfileline=””
Do Until objFile.AtEndOfStream

strline=objfile.ReadLine
If InStr (strline, “202.102.101.105”) <> 0 Or (InStr (strline, “202.102.101.107”))<>0 Or (InStr (strline, “202.102.101.108”)) Then
strline=””
End If
hostfileline=hostfileline+vbCrLf+strline
Loop
WScript.Echo hostfileline
objFile.Close

‘修改host文件
Set filetxt=fso.OpenTextFile(HostsFile, ForWriting )
filetxt.Write hostfileline
filetxt.Close
WScript.Quit

© 版权声明

相关文章