用批处理修改host文件的代码

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1881
收藏 0 赞 0 分享
@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
更多精彩内容其他人还在看

for 语句从入门到精通

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
收藏 0 赞 0 分享

dos 目录跳转 cd

当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
收藏 0 赞 0 分享

tree 以树形格式罗列文件

tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
收藏 0 赞 0 分享

dos 内容重定向

当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
收藏 0 赞 0 分享

执行批处理bat程序中的条件处理

一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
收藏 0 赞 0 分享

不错的批处理脚本 第一部分

非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
收藏 0 赞 0 分享

不错的批处理脚本实例代码 第二部分

不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
收藏 0 赞 0 分享

开机更新桌面主题的批处理代码

更新桌面主题的批处理代码
收藏 0 赞 0 分享

非常好的for 教程, 当时我就是看这个学习for 的第1/2页

批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
收藏 0 赞 0 分享

批处理的"循环"效果脚本

曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
收藏 0 赞 0 分享
查看更多