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

随心笔谈2年前发布 编辑
159 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

© 版权声明

相关文章