用批处理修改host文件的代码
更新时间:2011年05月12日 21:43:42 作者:
一直都是手工修改host文件,这里提供个批处理修改host文件的方法,需要的朋友可以参考下。
@echo 127.0.0.1 baidu.com >>C:\Windows\System32\Drivers\etc\hosts
这样就是换一行写入。
如果还想换一行,就写:
@echo. >>C:\Windows\System32\Drivers\etc\hosts
@echo 127.0.0.1 baidu.com >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.201 ibmrac1 >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.202 ibmrac2 >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.203 vip-ibmrac1 >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.204 vip-ibmrac2>>C:\Windows\System32\Drivers\etc\hosts
@echo 172.16.1.53 ssosvr>>C:\Windows\System32\Drivers\etc\hosts
@echo off
set stHosts=172.16.1.53 ssosvr
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
由于测试需要经常修改本机host,可以用脚本修改:
分别做两个批处理,一个内网,一个外网,用的时候切换运行即可
如内网.bat
cd /d %windir%\system32\drivers\etc
del hosts.bak //删除原来备份文件
ren hosts hosts.bak //备份现在host
for /f "eol=# tokens=1,2" %%i in (hosts.bak) do call :checkvalue %%i %%j
goto end
:checkvalue
echo %2 | find /i "szshequ.com" //寻找制定记录删除
if %errorlevel%==1 (echo %1 %2 >>hosts)
:end
type C:\WINDOWS\system32\drivers\etc\hosts
type C:\WINDOWS\system32\drivers\etc\hosts | find "szshequ.com" && goto yes
::echo 192.168.2.188 szshequ.com >> ""
echo 192.168.2.188 szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 www.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 bbs.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 cost.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 pp.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 yh.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 club.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 shop.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 images.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 files.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 ajax.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
这样就是换一行写入。
如果还想换一行,就写:
复制代码 代码如下:
@echo. >>C:\Windows\System32\Drivers\etc\hosts
@echo 127.0.0.1 baidu.com >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.201 ibmrac1 >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.202 ibmrac2 >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.203 vip-ibmrac1 >>C:\Windows\System32\Drivers\etc\hosts
@echo 192.168.4.204 vip-ibmrac2>>C:\Windows\System32\Drivers\etc\hosts
@echo 172.16.1.53 ssosvr>>C:\Windows\System32\Drivers\etc\hosts
复制代码 代码如下:
@echo off
set stHosts=172.16.1.53 ssosvr
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
由于测试需要经常修改本机host,可以用脚本修改:
分别做两个批处理,一个内网,一个外网,用的时候切换运行即可
如内网.bat
复制代码 代码如下:
cd /d %windir%\system32\drivers\etc
del hosts.bak //删除原来备份文件
ren hosts hosts.bak //备份现在host
for /f "eol=# tokens=1,2" %%i in (hosts.bak) do call :checkvalue %%i %%j
goto end
:checkvalue
echo %2 | find /i "szshequ.com" //寻找制定记录删除
if %errorlevel%==1 (echo %1 %2 >>hosts)
:end
type C:\WINDOWS\system32\drivers\etc\hosts
type C:\WINDOWS\system32\drivers\etc\hosts | find "szshequ.com" && goto yes
::echo 192.168.2.188 szshequ.com >> ""
echo 192.168.2.188 szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 www.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 bbs.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 cost.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 pp.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 yh.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 club.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 shop.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 images.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 files.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
echo 192.168.2.188 ajax.szshequ.com >> C:\WINDOWS\system32\drivers\etc\hosts
相关文章
批处理bat将txt文本第一列内容相同的行的最后一列的数字相加
这篇文章主要介绍了批处理bat将txt文本第一列内容相同的行的最后一列的数字相加,需要的朋友可以参考下2021-09-09
最新评论