中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 批处理 hosts问题 上一主题 | 下一主题
woonew
新手上路





积分 1
发帖 1
注册 2010-3-5
状态 离线
『楼 主』:  批处理 hosts问题

向左个批处理~但不会~ 条件:有个a.txt文件,里面每行记录 127.0.0.1 域名1 127.0.0.1 域名3 127.0.0.1 域名7 怎么编辑命令,要求每次执行查看a.txt每行记录在hosts文件(%SystemRoot%\system32\drivers\etc\hosts)里是否已有, 如果没有就将这个行记录加入到hosts文件末尾, 如果有就不复制这行记录,并将下一行在a.txt里没有的记录复制到hosts文件末尾。 网上有: @echo off 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 但不能随时增加映射地址 域名 高手给范本,最好有注释~我想学习一下


2010-9-4 13:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wwbh
新手上路





积分 4
发帖 3
注册 2009-8-24
状态 离线
『第 2 楼』:  

hi.baidu.com/wangbao ... @echo off&setlocal enabledelayedexpansion set cc=C:\WINDOWS\system32\drivers\etc\hosts for /f "tokens=2" %%i in (%cc%) do ( if "%%i"=="Copyright" (for /f "skip=17 delims=#" %%i in ('type %cc%^&del %cc%') do echo.%%i>>%cc%) else (for /f "delims=#" %%i in ('type %cc%^&del %cc%') do echo.%%i>>%cc%))&(goto :m) :m echo #已去除 echo 追加HOSTS条目 set sthosts=67.132.51.1 srv1 for /f "tokens=1*" %%a in ('echo %sthosts%') do findstr /e /b /r /c:" *%%a *%%b *" %cc%>nul||echo %sthosts%>>%cc% 最后一句就行了


2010-9-4 20:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: