使用vbs删除host文件域址内容

要求:原先host里面已增加以下3行

202.102.101.105 intranet.corp
202.102.101.107 mail.intranet.corp
202.102.101.108 sip.intranet.corp

之后不需要此3行内容,所以运行以上vbs代码,来删除host文件此3行

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

相关推荐

  • Windows Script Host之用vbs实现[浏览文件夹]功能

    '************************************************ ' File:Dialog.vbs (WSH sample in VBScript)  ' Author:(c) G. Born ' ' Using the shell dialog box to select a folder '************************************************ Option Explicit ' Flags for the opt

  • 通过vbs获取远程host文件并保存到指定目录

    复制代码 代码如下: Sub download(url,target) Const adTypeBinary = 1 Const adTypeText = 2 Const adSaveCreateOverWrite = 2 Dim http,ado Set http = CreateObject("Msxml2.ServerXMLHTTP") http.SetOption 2,13056 http.open "GET",url,False http.send Set

  • 用vbs实现防止计算机使用 LMHosts 文件

    问: 您好,脚本专家!如何防止计算机使用 LMHosts 文件? -- MJ 答: 您好,MJ.您知道,这是个有趣的问题,至少对"脚本专家"来说是这样.不是因为脚本难以编写:这实际上非常简单.困难的是(至少对我们来说)在 Windows GUI 中找到 LMHosts 设置:这是我们需要做的,以便我们可以验证脚本实际上起作用.在一段盲目的查找之后(这对"脚本专家"来说很寻常)我们最终找到了要找的东西: 以防您与"脚本专家"一样一窍不通(对于您来说

  • 使用vbs删除host文件域址内容

    要求:原先host里面已增加以下3行 202.102.101.105 intranet.corp 202.102.101.107 mail.intranet.corp 202.102.101.108 sip.intranet.corp 之后不需要此3行内容,所以运行以上vbs代码,来删除host文件此3行 '该脚本要求执行用户有本地管理员权限 Const ForReading = 1, ForWriting = 2, ForAppending = 8, ReadOnly = 1 Set fso

  • PHP实现批量清空删除指定文件夹所有内容的方法

    本文实例讲述了PHP实现批量清空删除指定文件夹所有内容的方法.分享给大家供大家参考,具体如下: cleancache.php: <?php // 清文件缓存 $dirs = array( realpath(dirname(__FILE__) . '/../data/cache_data'), realpath(dirname(__FILE__) . '/../data/cache_file'), realpath(dirname(__FILE__) . '/../data/cache_view'

  • C++实现删除txt文件中指定内容的示例代码

    默认明白C++的文件输入输出流 方法: 新建一个中间文件,逐行读取原文件(test.txt)的内容并写入到中间文件(temp.txt),遇到需要删除的内容则跳过. 再将中间文件的内容写入原文件,删除中间文件. fstream in("C:\\Users\\Administrator\\Desktop\\test.txt", ios::in);//原文件 fstream out("C:\\Users\\Administrator\\Desktop\\temp.txt"

  • php实现遍历目录并删除指定文件中指定内容

    现在正坐在安静的寝室里,寒假俨然已经离我而去了--今天发的是我寒假里搞的最后一次学习,之后的时间就一直在看海贼王了. 以前写过一个C语言的遍历目录+复制文件的程序,很长很复杂,现在用PHP一样可以实现遍历目录,而代码就短了不少.这个程序目的是遍历目录,找到所有指定文件名的文件,并删除其中指定的字符串. 复制代码 代码如下: <?php  //功能:删除指定目录(包括子目录)下所有指定文件中指定字符串 $tmpfiledir = $_SERVER["DOCUMENT_ROOT"].

  • 使用 Iisext.vbs 删除 Web 服务扩展文件的方法

    应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可使用命令行脚本 iisext.vbs(存储在 systemroot\system32 中)从 WebSvcExtRestrictionList Metabase Property中删除单个文件.该命令可在运行带有 IIS 6.0 的 Windows Server 2003 家族的成员的本地计算机或远程计算机上执行.Web 服务扩展文件可以

  • Linux 中清空或删除大文件内容的五种方法

    在 Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器 去打开这些文件.那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来清空文件内容的方法. 注意: 由于再Linux中一切皆文件,你需要时刻注意,确保你将要清空的文件不是重要的用户文件或者系统文件.清空重要的系统文件或者配置文件可能会引发严重的应用失败或者系统错误. 提示:在下面的示例中,我们将使用名为 access.log 的文件来作为示例样本. 1. 通过重定向到 Nul

  • 动态增加/删除文件域

    LEDADBBS网友提供的一个动态增加/删除文件域的代码,还不错,收藏一下. function additem(id){ var row,cell,str; row = eval("document.all["+'"'+id+'"'+"]").insertRow(); if(row != null ){ cell = row.insertCell(); str="" cell.innerHTML=str; } } functi

  • Java删除指定文件夹下的所有内容的方法(包括此文件夹)

    如下所示: // 删除文件夹 private static void deleteDirectory(File file) { if (file.isFile()) {// 表示该文件不是文件夹 file.delete(); } else { // 首先得到当前的路径 String[] childFilePaths = file.list(); for (String childFilePath : childFilePaths) { File childFile = new File(file

  • 用vbs删除某些类型文件和磁盘空间报告的脚本

    Option Explicit dim ServerPath,onlyone,notfinddel,WorkPath,arrWorwpath,strWorkPath,fso,wsh,WshNetwork,cName,exectime,fnum,donum,totalsize,t1,t2,tm fnum=0 donum=0 totalsize=0 WorkPath = "F:\|D:\|C:\Download\"   '这里设置需要扫描的路径(绝对路径),使用"|"来

  • Java实现文件夹中内容定时删除

    今天我和大家分享一下用Java实现对一个文件夹中内容定时删除. 让我们来看一下对一个文件夹中内容定时删除的功能. 对于文件的删除就是用File类中的delete()方法删除当前File所表示的文件或者目录(空目录),不过这里要注意对于目录的删除是要判断该目录是否是空目录,不是空目录不能删除,还需要对该目录进行递归查找该目录里的文件并删除,如果递归查找的还是目录,那么继续进行上面的操作. 定时功能呢?java.util包中有一个Timer类,Timer类用于创建定时器类,Timer类中有sched

随机推荐