[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 新人求助:如何用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批处理程序吗?谢谢了!

  1. @echo off
  2. for /f "tokens=13" %%i in (a.txt) do (
  3.     echo %%i | find "." >nul && start http://%%i
  4.     goto :eof
  5. )
复制代码

TOP

试了好像不行啊?这个a.txt是什么?能不能不用文件,假定网关地址就在192.168.10.1-192.168.20.1之间,
可以用for /l %ip in (10,1,20) do来做吗?

回复 2# DAIC

TOP

  1. @echo off
  2. set "re=Gateway.*[0-9] 网关.*[0-9]"
  3. for /f "tokens=2delims=:" %%a in ('ipconfig^|findstr /i "%re%"') do (
  4.     set "ip=%%a"
  5. )
  6. "%programfiles%\Internet Explorer\iexplore" http://%ip: =%/
  7. pause
复制代码
我用 start http://192.168.11.1/ 怎么行不通?

TOP

本帖最后由 bikkuri 于 2014-2-12 07:34 编辑

谢谢您的答复。您的脚本可以正常运行。
至于为什么start http://%ip%/打不开,是因为前面set "ip=%a"的时候多了一个空格。
如果一步一步执行的话,可以发现赋给ip的值是" 192.168.11.1"。
  1. C:\Windows\system32>(set "ip= 192.168.11.1" )
  2. C:\Windows\system32>echo %ip%
  3. 192.168.11.1
复制代码
用start http://%ip: =%/去掉这个空格就可以正常打开。

回复 4# apang

TOP

回复 3# bikkuri
  1. @echo off
  2. for /f "tokens=13" %%i in ('ipconfig ^| findstr Gateway') do (
  3.     echo %%i | find "." >nul && start http://%%i
  4.     goto :eof
  5. )
复制代码

TOP

谢谢您的答复。您的脚本可以正确打开网关路由器的网址。谢谢了!

回复 6# DAIC

TOP

楼上的两位高手,再请你们帮一个忙。
除了打开我的电脑当前所在的网关路由器,我还是需要打开其他能ping通的网关路由器,也就是说从192.168.10.1到192.168.20.1这11个网关路由器,只要能ping通,就打开路由器上的网址。
这个可以做到吗?

TOP

回复 8# bikkuri
  1. @echo off
  2. for /f "tokens=13" %%i in ('ipconfig ^| findstr Gateway') do (
  3.     echo %%i | find "." >nul && start http://%%i
  4.     goto :Open_Gate
  5. )
  6. :Open_Gate
  7. for /l %%i in (10,1,20) do (
  8.     ping 192.168.%%i.1 >nul && start http://192.168.%%i.1
  9. )
复制代码

TOP

谢谢您的指点。这下可以正常打开所有网关路由器上的网页了。 谢谢。

回复 9# DAIC

TOP

回复 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/
正常

TOP

@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

TOP

@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



   这个不错,我喜欢

TOP

xiexiexie!!

TOP

返回列表