• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

要求:批处理(.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人参与评论

请发表评论

全部评论

专题导读
上一篇:
批处理制作二维码生成器发布时间:2022-02-11
下一篇:
bat、vbs、js 原生混编(一个bat可以执行vbs,js代码)发布时间:2022-02-11
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap