• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    批处理添加多个新的域名到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
    

    您可能感兴趣的文章:
    • 使用批处理删除HOSTS中特定内容的行的代码
    • 批处理利用HOSTS文件(屏蔽,加速)网站的代码
    • 使用批处理bat更改hosts的多个方法
    上一篇:批处理制作二维码生成器
    下一篇:bat、vbs、js 原生混编(一个bat可以执行vbs,js代码)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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