![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 01:36 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理 hosts问题 |
| 可打印版本 975 / 1 |
| 第1楼 woonew | 发表于 2010-09-04 13:49 |
| 新手上路 发帖 1 积分 1 | |
|
批处理 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 但不能随时增加映射地址 域名 高手给范本,最好有注释~我想学习一下 |
|
| 第2楼 wwbh | 发表于 2010-09-04 20:47 |
| 新手上路 发帖 3 积分 4 | |
|
http://hi.baidu.com/wangbaohua3/blog/item/46f7d650da41f4113b29355e.html
@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% 最后一句就行了 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |