中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 17:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]hosts改写代码 查看 810 回复 2
楼 主 [求助]hosts改写代码 发表于 2007-09-07 13:26 ·  美国 ThePlanet机房
初级用户
积分 38
发帖 12
注册 2007-09-06 21:39
18年会员
UID 96736
性别 男
状态 离线
@ECHO OFF&&SET HOSTS=%windir%\system32\drivers\etc\hosts&&SET IP=127.0.0.1
>%HOSTS% ECHO # %DATE% %TIME% %COMPUTERNAME% %USERNAME% %OS%
FOR /F "eol=# skip=5" %%i in ('findstr /v "^/" %~nx0') DO ECHO %IP% %%i >>%HOSTS%
FOR /F "delims=/" %%i in ('findstr "^/" %~nx0') DO ECHO %%i >>%HOSTS%
pause&&GOTO :EOF
localhost
#"#"后的为注释行
#"/"后的可以自定义转向地址,默认为本地回路
#简单屏蔽每域名一行
#====QYULE.COM 以下会被转向到127.0.0.1
qyule.com
www.qyule.com
pic.qyule.com
union.qyule.com
#====VODONE.COM 以下按自定义地址转向
/192.168.1.1 vodone.com
/192.168.1.2 www.vodone.com
/192.168.1.3 vlog.vodone.com
/192.168.1.4 images.vodone.com



---------------------
这段代码强制删除原有的内容,
改成不删除原有的内容,补充写入,而且要调过已存在的,需要怎样写?
高手请指教
2 发表于 2007-09-07 13:28 ·  美国 ThePlanet机房
初级用户
积分 38
发帖 12
注册 2007-09-06 21:39
18年会员
UID 96736
性别 男
状态 离线
这段代码可以实现,能不能接合上面的改成上面的格式?




在hosts中加入地址前想先判断hosts中地址是否已存在
@echo off
set destination=%systemroot%\system32\drivers\etc\hosts
findstr /i /c:"127.0.0.1 localhost" %destination%>nul 2>nul || echo 127.0.0.1 localhost>>%destination%
pause
3 发表于 2007-09-09 03:52 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
听得一头雾水。
论坛跳转: