中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 11:53
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » hosts文件中判断是否有指定字符,没有就加上给出提示
可打印版本  7,184 / 1
第1楼 chguishan 发表于 2020-12-19 11:31
新手上路 发帖 2 积分 2
hosts文件中判断是否有指定字符,没有就加上给出提示
单位内网用了一个系统,但是要用域名才能访问,没有公网注册的域名,单位也没有DNS服务器,
想给内部每台想登录这个内网网站的电脑的hosts加上解析来通过域名登录这个内网网站。
网站IP172.16.5.1
网站域名aa.aaaa.com
下面的代码能达到要求,就是看着难看,帮我改一下,谢谢

判断hosts文件中是否有172.16.5.1 aa.aaaa.com
如果有就提示,如果没有加上再提示。(不能执行一次就写入一次)
最好是把提示改成直接打开网站。
谢谢


@echo off
(for /f "delims=" %%i in ('find /i "172.16.5.1 aa.aaaa.com"^<%windir%\system32\drivers\etc\hosts') do (
echo 已经达到要求,请登录http://aa.aaaa.com
))||(echo=>>%windir%\system32\drivers\etc\hosts | echo 172.16.5.1 tdm.vcyz.com>>%windir%\system32\drivers\etc\hosts | echo 已经达到要求,请登录http://aa.aaaa.com)
pause
第2楼 chguishan 发表于 2020-12-20 21:08
新手上路 发帖 2 积分 2
在批处理之家里已解决
@echo off
set ip=172.16.5.1
set domain=aa.aaa.com
set hosts="%windir%\system32\drivers\etc\hosts"
find /i "%ip% %domain%" %hosts%
if errorlevel 1 >>%hosts% (
echo.
echo %ip% %domain%
)
start "" "http://%domain%"
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023