脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/1 浏览:3 次 )

要求:批处理(.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

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

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

@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

上一篇:dos命令大全 黑客必知的DOS命令集合
下一篇:定时删除一个文件夹内的所有子文件夹和文件的方法
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap