Board logo

标题: [网络连接] 如何使用批处理访问网站 注意分 内网和外网 [打印本页]

作者: jiay2796    时间: 2012-11-23 11:14     标题: 如何使用批处理访问网站 注意分 内网和外网

本帖最后由 jiay2796 于 2012-11-23 14:58 编辑

如何使用批处理访问网站 注意分 内网和外网
内网IP 192.168.0.22   外网比如1.1.1.1     要求批处理会自动判断来源 分配访问目标内网或外网地址
思路就是
得出IP后。判断。如果本机IP为192.168.*.* 则链接http://192.168.0.22 否则链接http://1.1.1.1


是调用IE 打开。。。
start /max c:\progra~1\Intern~1\iexplore.exe "***"
作者: BAT-VBS    时间: 2012-11-23 14:26

  1. @echo off
  2. for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
  3.     set IP=%%a
  4. )
  5. echo %IP% | findstr "^192.168" >nul
  6. if errorlevel 1 (
  7.     echo 链接 1.1.1.1
  8. ) else (
  9.     echo 链接 192.168.0.22
  10. )
  11. pause
复制代码

作者: jiay2796    时间: 2012-11-23 14:57

谢谢。。。。是调用IE 打开。。。
start /max c:\progra~1\Intern~1\iexplore.exe "http://192.168.0.22"
作者: BAT-VBS    时间: 2012-11-23 15:01

回复 3# jiay2796
  1. @echo off
  2. for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
  3.     set IP=%%a
  4. )
  5. echo %IP% | findstr "^192.168" >nul
  6. if errorlevel 1 (
  7.     start "" /max "c:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://1.1.1.1"
  8. ) else (
  9.     start "" /max "c:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://192.168.0.22"
  10. )
复制代码

作者: 秋水    时间: 2012-11-23 15:16

试试
@echo off
FOR /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr/i "ipv4"') do echo %%i |find "192.168"&&start iexplore 192.168.0.22 || start iexplore 1.1.1.1
作者: jiay2796    时间: 2012-11-23 15:27

秋水。这个不行。 可以运行。但是IE没打开!   


BAT-VBS   哥们  IP不为 echo %IP% | findstr "^192.168" >nul  打开的地址还是http://192.168.0.22

不去链接1.1.1.1
作者: BAT-VBS    时间: 2012-11-23 15:29

回复 6# jiay2796


    不同的系统里面ipconfig命令的结果有很大差异,通过ipv4这个关键去查找的话是不可靠的。
作者: BAT-VBS    时间: 2012-11-23 15:30

回复 6# jiay2796


    把4楼代码里面的@echo off删掉,把执行过程给我看看。
作者: BAT-VBS    时间: 2012-11-23 15:35

回复 5# 秋水


    还有就是这个find命令也是不可靠的,因为192.168不一定出现在IP的开头,还可能出现在中间或者结尾。
作者: 秋水    时间: 2012-11-23 15:40

本帖最后由 秋水 于 2012-11-23 15:42 编辑

@echo off
FOR /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr/i "ipv4"') do echo %%i |find "192.168"&&start /max c:\progra~1\Intern~1\iexplore.exe “192.168.0.22" || start /max c:\progra~1\Intern~1\iexplore.exe "1.1.1.1"
能用就行。
作者: 秋水    时间: 2012-11-23 15:47

回复 6# jiay2796


    貌似是调用默认浏览器。
作者: jiay2796    时间: 2012-11-23 15:57

回复  jiay2796


    把4楼代码里面的@echo off删掉,把执行过程给我看看。
BAT-VBS 发表于 2012-11-23 15:30


可以了。我弄错了。谢了!!!!!
作者: jiay2796    时间: 2012-11-23 16:27

回复  jiay2796


    把4楼代码里面的@echo off删掉,把执行过程给我看看。
BAT-VBS 发表于 2012-11-23 15:30





for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (

    set IP=%%a

)

echo %IP% | findstr "^192.168" >nul

if errorlevel 1 (

    start "" /max "c:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://221.176.225.234"

) else (

    start "" /max "c:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://192.168.0.200"

)
pause

    如果调用默认浏览器。怎么弄!
作者: BAT-VBS    时间: 2012-11-23 18:41

回复 13# jiay2796
  1. start "" /max "http://221.176.225.234"
复制代码

作者: jiay2796    时间: 2012-11-23 18:54

噢。学习了!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2