标题: [网络连接] 新人求助:如何用bat批处理打开网关路由器的网页? [打印本页]
作者: bikkuri 时间: 2014-2-11 15:26 标题: 新人求助:如何用bat批处理打开网关路由器的网页?
本帖最后由 bikkuri 于 2014-2-11 15:30 编辑
大家新年好!
我有一个问题向大家请教。
我想用一个bat批处理程序找到当前的网关,并启动浏览器打开网关路由器的网址。
网关可以用ipconfig|findstr命令来找到
C:\>ipconfig|findstr Gateway
Default Gateway . . . . . . . . . : 192.168.11.1
Default Gateway . . . . . . . . . :
Default Gateway . . . . . . . . . :
Default Gateway . . . . . . . . . : ::
C:\>ipconfig|findstr 192.168
IPv4 Address. . . . . . . . . . . : 192.168.11.119
Default Gateway . . . . . . . . . : 192.168.11.1
IPv4 Address. . . . . . . . . . . : 192.168.109.1
IPv4 Address. . . . . . . . . . . : 192.168.141.1
例如这里的网关地址就是192.168.11.1
打开网址可以用start http://192.168.11.1/命令。
但是这个批处理应该怎么写呢?我不清楚应该如何来处理字符串。
我自己试着写了一个,但是判断没有生效,会直接打开从192.168.10.1到192.168.20.1整整11个网页。
for /l %a in (10,1,20) do (
del c:\gateway
ipconfig|findstr 192.168.%a.1 > c:\gateway
if c:\gateway gtr 0 (start http://192.168.%a.1/)
)
有哪位高手能帮我改一下这个bat批处理程序吗?谢谢了!
作者: DAIC 时间: 2014-2-11 17:58
- @echo off
- for /f "tokens=13" %%i in (a.txt) do (
- echo %%i | find "." >nul && start http://%%i
- goto :eof
- )
复制代码
作者: bikkuri 时间: 2014-2-11 20:07
试了好像不行啊?这个a.txt是什么?能不能不用文件,假定网关地址就在192.168.10.1-192.168.20.1之间,
可以用for /l %ip in (10,1,20) do来做吗?
回复 2# DAIC
作者: apang 时间: 2014-2-11 20:53
- @echo off
- set "re=Gateway.*[0-9] 网关.*[0-9]"
- for /f "tokens=2delims=:" %%a in ('ipconfig^|findstr /i "%re%"') do (
- set "ip=%%a"
- )
- "%programfiles%\Internet Explorer\iexplore" http://%ip: =%/
- pause
复制代码
我用 start http://192.168.11.1/ 怎么行不通?
作者: bikkuri 时间: 2014-2-12 07:22
本帖最后由 bikkuri 于 2014-2-12 07:34 编辑
谢谢您的答复。您的脚本可以正常运行。
至于为什么start http://%ip%/打不开,是因为前面set "ip=%a"的时候多了一个空格。
如果一步一步执行的话,可以发现赋给ip的值是" 192.168.11.1"。- C:\Windows\system32>(set "ip= 192.168.11.1" )
-
- C:\Windows\system32>echo %ip%
- 192.168.11.1
复制代码
用start http://%ip: =%/去掉这个空格就可以正常打开。
回复 4# apang
作者: DAIC 时间: 2014-2-12 08:51
回复 3# bikkuri - @echo off
- for /f "tokens=13" %%i in ('ipconfig ^| findstr Gateway') do (
- echo %%i | find "." >nul && start http://%%i
- goto :eof
- )
复制代码
作者: bikkuri 时间: 2014-2-12 14:22
谢谢您的答复。您的脚本可以正确打开网关路由器的网址。谢谢了!
回复 6# DAIC
作者: bikkuri 时间: 2014-2-12 14:27
楼上的两位高手,再请你们帮一个忙。
除了打开我的电脑当前所在的网关路由器,我还是需要打开其他能ping通的网关路由器,也就是说从192.168.10.1到192.168.20.1这11个网关路由器,只要能ping通,就打开路由器上的网址。
这个可以做到吗?
作者: DAIC 时间: 2014-2-12 15:50
回复 8# bikkuri - @echo off
- for /f "tokens=13" %%i in ('ipconfig ^| findstr Gateway') do (
- echo %%i | find "." >nul && start http://%%i
- goto :Open_Gate
- )
-
- :Open_Gate
- for /l %%i in (10,1,20) do (
- ping 192.168.%%i.1 >nul && start http://192.168.%%i.1
- )
复制代码
作者: bikkuri 时间: 2014-2-12 18:44
谢谢您的指点。这下可以正常打开所有网关路由器上的网页了。 谢谢。
回复 9# DAIC
作者: apang 时间: 2014-2-12 20:51
回复 5# bikkuri
这种错误我没犯。(系统:Win7 sp1 中文旗舰版,ie8)
start http://www.sina.com
错误:找不到应用程序
start iexplore http://www.sina.com/
或 "%programfiles%\Internet Explorer\iexplore.exe" http://www.sina.com/
正常
作者: 寒冰ckj 时间: 2014-2-15 19:14
@echo off
echo off
title Open Gateway
REM Get Gateway IP
for /f "delims=: tokens=2" %%i in ('ipconfig^|^find /i "Default Gateway"') do (
if not "%%i"==" " set gateway_ip_str=%%i
)
set gateway_ip=%gateway_ip_str:~1%
start iexplore "%gateway_ip%"
exit
作者: a22124497 时间: 2014-9-19 11:50
@echo off
echo off
title Open Gateway
REM Get Gateway IP
for /f "delims=: tokens=2" %%i in ('ipc ...
寒冰ckj 发表于 2014-2-15 19:14
这个不错,我喜欢
作者: hnldwhm52 时间: 2014-9-19 14:49
xiexiexie!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |