
标题: [文本处理] [已解决]批处理怎样在hosts文件中判断是否有指定字符并执行不同操作 [打印本页]
作者: chguishan 时间: 2020-12-19 10:45 标题: [已解决]批处理怎样在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
复制代码
作者: flashercs 时间: 2020-12-19 11:33
- @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 %ip% %domain%
- start "" "http://%domain%"
复制代码
作者: chguishan 时间: 2020-12-19 14:06
flashercs 发表于 2020-12-19 11:33 
谢谢flashercs,达到要求,判断有就不写入,没有就写入了,然后直接用默认的浏览器打开网站了。
但是有一点还请帮一下,这个是直接写到最后一行的后面,没有另起一行。
是这样在一行里:127.0.0.1 localhost172.16.5.1 aa.aaa.com
想另起一行最后是这样
127.0.0.1 localhost
172.16.5.1 aa.aaa.com
作者: flashercs 时间: 2020-12-19 15:03
本帖最后由 flashercs 于 2020-12-19 15:06 编辑
回复 3# chguishan - @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%"
复制代码
作者: chguishan 时间: 2020-12-19 15:21
回复 4# flashercs
完美!
谢谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |