批处理添加多个新的域名到hosts

要求:批处理(.bat) 添加多个新的域名到hosts,先检测是否已存在,如果已存在的域名就不添加

其他尚未存在的域名,则直接添加

google搜寻是有找到代码  如下:

代码如下:

set stHosts= X.X.X.X www.domainname.com
FOR /F "eol=# tokens=1 delims=" %%i in (%systemroot%\system32\drivers\etc\hosts) do if "%stHosts%"=="%%i" exit
echo %stHosts%>> %systemroot%\system32\drivers\etc\hosts

不过此代码只能检测一行域名

如果要添加以下各种不同域址,如何改写代码才能检测多个的域名?

127.0.0.1 mcfg.sandai.net
127.0.0.1 211.94.190.80
127.0.0.1 advstat.xunlei.com
123.87.86.5 biz5.sandai.net
527.66.13.125 cknum.sandai.net
110.45.215.113 cl.kankan.xunlei.com
127.0.0.1 float.sandai.net
127.0.0.1 mcfg.sandai.net
180.70.134.154 mtips.xunlei.com
127.0.0.1 pubstat.sandai.net
216.58.221.74 recommend.xunlei.com
127.0.0.1 wy.xunlei.com
110.45.229.148 buy.safe.xunlei.com

方法一:

@echo off & setlocal enabledelayedexpansion
set "file=%systemroot%\system32\drivers\etc\hosts"
for /f "tokens=2" %%i in ('more +11 "%~0"') do set #%%i=1
for /f "delims=" %%i in ('findstr /n .* %file%') do (
  set "s=%%i"
  set "s=!s:*:=!"
  for /f "tokens=1,2" %%j in ("#!s!") do if not defined #%%k echo;!s!
)
more +11 "%~0"
pause & exit

方法二:带上检测功能(各种域址写在名为list.txt的文件中,一行一个)

@echo off
if exist %temp%\$ del /q %temp%\$
for /f "delims=" %%i in (%systemroot%\system32\drivers\etc\hosts) do echo %%i>>%temp%\$
for /f "delims=" %%a in ('findstr /v /g:"%temp%\$" list.txt') do echo %%a>> %systemroot%\system32\drivers\etc\hosts
(0)

相关推荐

  • 使用批处理bat更改hosts的多个方法

    什么是Hosts: Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库",当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析. Hosts文件的具体作用: 现在来看一下Hosts文件的工作方式以及它在具体使用中起哪些作用. 1.加快域名解析 对于要经常访问的网

  • 使用批处理删除HOSTS中特定内容的行的代码

    Q:用bat批处理来删除或者修改hosts中指定的条目,例如对于127.0.0.1 localhosts,能否把hosts里面带有local的记录全都删掉或者改掉? A: 复制代码 代码如下: cd /d %windir%\system32\drivers\etc  rem 先删除hosts.bak防止重命名失败  del hosts.bak  ren hosts hosts.bak  for /f "eol=# tokens=1,2" %%i in (hosts.bak) do ca

  • 批处理利用HOSTS文件(屏蔽,加速)网站的代码

    复制代码 代码如下: @echo off&setlocal&cls echo/&echo\&echo=&echo]&echo[&echo+ :start set/p a=选择模式(1:屏蔽网站 2:加速访问 3:删除被屏蔽的网站 4:退出): if not defined a goto start if %a% equ 1 (echo/&goto a) if %a% equ 2 (echo/&goto b) if %a% equ 3

  • 批处理添加多个新的域名到hosts

    要求:批处理(.bat) 添加多个新的域名到hosts,先检测是否已存在,如果已存在的域名就不添加 其他尚未存在的域名,则直接添加 google搜寻是有找到代码  如下: 复制代码 代码如下: set stHosts= X.X.X.X www.domainname.com FOR /F "eol=# tokens=1 delims=" %%i in (%systemroot%\system32\drivers\etc\hosts) do if "%stHosts%"

  • 为Android系统添加config.xml 新配置的设置

    在日常系统开发中,经常需要在adroid的framework修改或添加自己的配置.例如在config.xml 添加一个新的变量.我这边测试发现如果只是简单的添加配置项,在代码里面怎么也访问不到.为了解决这个问题仔细看了一下代码,最终发现需要在public.xml 定义才可以. 下面用一个例子来说明一下. 1.在framework/base/core/res/res/valus/config.xml 添加默认输入配置: <!-- set default inputmethod. --> <

  • pandas选择或添加列生成新的DataFrame操作示例

    目录 如何向 pandas.DataFrame 添加新的列或行 选择某些列 选择某些列和行 添加新的列 更改某一列的值 补全缺失值 如何向 pandas.DataFrame 添加新的列或行 通过指定新的列名/行名来添加,或者用pandas.DataFrame的assign().insert().append()方法添加等方法. 这里,将描述以下内容. 将列添加到 pandas.DataFrame 通过指定新列名添加 用assign()方法添加/分配 用insert()方法添加到任意位置 使用 c

  • dedecms ckeditor编辑器添加链接默认新窗口打开的修改方法

    DEDECMS文章页加入的链接都默认不是在新窗口打开.百度一下,都是关于FCKeditor编辑器的.dedecmd v5.7 默认ckeditor编辑器.写下来希望能帮到那些不会改的同学 在清理下浏览器缓存,就可以了.

  • 批处理 添加隐藏用户代码

    复制代码 代码如下: net user admins$ 1234567 /add net localgroup administrators admins$ /add Echo HKEY_LOCAL_MACHINE\SAM [1] >>c:/tem.ini Echo HKEY_LOCAL_MACHINE\SAM\SAM [1] >>c:/tem.ini Echo HKEY ... net user admins$ 1234567 /add net localgroup admini

  • Android 往Framework中添加新资源的方法详解

    有时候我们想在标准的Framework中添加自己的新的资源怎么办呢?办法就是我们来尝试下.通过Eclipse的联系,我们可以联想到是否就是简单的把字符串放在res的各个文件夹里面.先来试试看,编译,系统立即报错.为什么呢?它提示你利用make update-api这个命令来更新public.xml文件或者把这个声明称hide类型.这个肯定不是我们想要的.所以方法有二:方法1:正常添加完资源后,执行make update-api函数.系统更新res/values/public.xml文件.方法2:

  • 使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法

    1.新建数据库: 进入phpmyadmin管理界面以后,找到如下文字"创建一个新的数据库",然后在下面填上要新建的数据库的名称,在后面的下拉列表中选择数据库的编码,如"utf8_general_ci",点击"创建"按钮,这样就新建了一个数据库. 2.新建此数据库的对应帐户 在phpmyadmin管理界面点击"权限",打开链接,点击"添加新用户",在打开的页面中会看到"登入信息",输入用户

  • vue中向data添加新属性的三种方式小结

    目录 向data添加新属性的三种方式 原理分析 三种方式 vue组件 data等属性介绍 向data添加新属性的三种方式 原理分析 首先在了解这三种方式之前,我觉的有必要说一下,为啥不能直接手动给data中的对象添加属性呢? 下面咱们一块分析下: vue2 是通过数据劫持 “Object.defineProperty” 实现数据响应式:     const obj = {};         let val = 'kk'         Object.defineProperty(obj,'na

  • Apache Rewrite实现URL的301跳转和域名跳转

    如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意

  • apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定

    今天在学习PHP时,有这样的一个需求:一个ip(如:127.0.0.1)和多个域名(虚拟主机)绑定,以下是我的解决方案: 解决方案一:通过端口来区分不同的虚拟主机 ①按照绑定一个站点的方法做好准备 1. 先开发好自己的网站(d:/myblog(存放在D盘的myblog目录下)) 2. 配置httpd.conf文件(存放在apache安装目录的conf文件夹中),启用httpd-vhosts.conf(把第二行前面的#号去掉即可). 3. 配置httpd-vhosts.conf文件(存放在apac

随机推荐