Content

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

文章摘要

该脚本用于在Windows环境下修改hosts文件。其主要功能包括:要求用户具有本地管理员权限,通过Scripting.FileSystemObject获取hosts文件路径,检查文件属性并进行修改操作。具体流程如下:首先检查hosts文件是否为只读文件(ReadOnly),如果是,则修改其属性;然后读取文件内容,检查特定IP地址(如202.102.101.105、202.102.101.107、202.102.101.108),若发现修改过,则输出修改内容;最后写入修改后的文件并退出脚本。

 ‘该脚本要求执行用户有本地管理员权限 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