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

[网络连接] 如何用批处理实现宽带拨号上网?

我的电脑是XP的SP3中文操作系统,每次上网时都要插上网线后运行“宽带连接”,再点“连接”(帐号和密码已记忆)后才能连上网!我想用BAT实现:
当网线一插上时(这时会提示本地连接已连接上,我的想法是通过这一点来判断是否运行“宽带连接”)就自动运行“宽带连接”,并连上网,反之,若没有插上网线,就不运行“宽带连接”!

以上要求还请指教,谢谢!

填好帐号和密码并记忆后再设置下(见图)

TOP

谢谢楼上的!你说的这种设置是在本地连接已连接好,网络在连好后断线时自动连接的办法,我要的是自本地连接连上后就能自己实现宽带连接!

TOP

***共同提高***

TOP

检测本地连接并自动连接宽带连接.cmd

假设你的宽带连接已在网络连接中建立好, 仅在第一次运行时, 需要输入宽带的配置信息, 以后将自动读取已保存的配置(在文件%windir%\autoADSL.cmd内)进行自动连接, 无需再次干预
  1. @echo off
  2. if "%1" == "h" goto begin
  3. (set /p show=需要显示小窗口界面吗^(y/n^)[直接回车=不显示]:)
  4. if /i "%show:~0,1%" equ "y" goto begin
  5. mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
  6. :begin
  7. @echo off&setlocal enabledelayedexpansion
  8. chcp 936 & cls & rem 后面的的判断全以中文代码页936输出为准
  9. if not exist "%windir%\autoADSL.cmd" (
  10.   start Control netconnections
  11.   echo ===== 输入宽带连接配置信息并保存到文件 %windir%\autoADSL.cmd =====&echo.
  12.   (set /p ADSL_Name=请输入宽带连接在"网络连接"中的名称^(通常就是宽带连接或ADSL等^):)
  13.   (set /p ADSL_Username=请输入宽带连接的用户名:)
  14.   (set /p ADSL_password=请输入宽带连接的密码:)
  15.   echo rasdial.exe !ADSL_Name! !ADSL_Username! !ADSL_password!>%windir%\autoADSL.cmd
  16. )
  17. rem echo 请将有效的宽带连接快捷方式拖到此窗口 或 人工输入它的全路径
  18. rem echo 如果不想用快捷方式来连接, 请直接回车
  19. rem (set /p ADSL_link=宽带连接快捷方式全路径:) & rem 宽带连接的快捷方式全路径若包含有空格, 请用双引号对括起
  20. (set fn=%windir:~0,2%\~netmp)
  21. cls & mode con lines=2 cols=54
  22. :loop
  23. (ipconfig/all>!fn!)
  24. (set foundLC=false)&(set foundLCPA=false)&(set LCC=true)&(set LCPA=)&(set PPP_WAN=false)
  25. for /f "delims=" %%i in (!fn!) do (
  26.   (set ln=%%i) & rem echo !ln!
  27.   (set ln=!ln: =!) & (set ln=!ln:*本地连接:=本地连接:!)
  28.   if "!ln:~0,5!" equ "本地连接:" (
  29.     (set foundLCPA=false)&(set foundLC=true)
  30.   )
  31.   if /i "!ln:~0,10!" equ "MediaState" (
  32.     (set ln=!ln:*disconnected=disconnected!)
  33.     if /i "!ln:~0,12!" equ "disconnected" (
  34.       if /i "!foundLC!" equ "true" if /i "!foundLCPA!" equ "false" (set LCC=false)&rem(set /p=╳本地连接被断开<nul)
  35.     )
  36.   )
  37.   if /i "!ln:~0,15!" equ "PhysicalAddress" (
  38.     if /i "!foundLC!" equ "true" if "!LCPA!" equ "" (
  39.       (set foundLCPA=true)&(set ln=!ln:*:=!)&(set LCPA=!ln:~0,17!)   
  40.     )
  41.   )
  42.   if /i "!ln:~0,3!" equ "PPP" (set PPP_WAN=true)
  43.   (set ln=!ln:*:=!)
  44.   if /i "!ln:~0,3!" equ "WAN" (set PPP_WAN=true)
  45. )
  46. if /i "!foundLC!" equ "false" (set LCC=false)
  47. cls
  48. if !LCC! neq !LCC0! (set LCC0=!LCC!)&if /i "!LCC!" equ "false" (set /p=<nul) else (set /p=<nul)
  49. if !PPP_WAN! neq !PPP_WAN0! (set PPP_WAN0=!PPP_WAN!)&if /i "!PPP_WAN!" equ "false" (set /p=<nul) else (set /p=      <nul)
  50. if /i "!PPP_WAN!" equ "true" (set sgn=╬═╬本地和宽带) else (set sgn=╩本地)
  51. if /i "!LCC!" equ "false" (
  52.   (color cf)&(title ╳本地连接^(!LCPA!^)被断开) & echo ╳本地连接^(!LCPA!^)被断开
  53.   if /i "!foundLC!" equ "false" (color 3f)&(title ?本地连接^(!LCPA!^)不存在或停用) & echo ?本地连接^(!LCPA!^)不存在或停用
  54.   (set PPP_WAN=false)
  55. ) else (
  56.   (title !sgn!连接^(!LCPA!^)已连接上) & (set /p=!sgn!连接^(!LCPA!^)已连接上<nul)
  57.   if /i "!PPP_WAN!" equ "true" (color 2f) else (color 9f)
  58.   if /i "!PPP_WAN!" equ "false" (
  59.     if exist %windir%\autoADSL.cmd (
  60.       (call %windir%\autoADSL.cmd>!fn!)
  61.       for /f "delims=" %%i in (!fn!) do (
  62.         (set ln=%%i)
  63.         if "!ln:~0,3!" equ "已连接" (color 2f)&(set PPP_WAN=true)&(set /p=宽带连接已重新连上<nul)
  64.       )
  65.     )
  66.     rem !ADSL_link!
  67.   )
  68. )
  69. ping -n 2 127.1>nul
  70. goto loop
复制代码

[ 本帖最后由 neorobin 于 2009-12-9 17:26 编辑 ]

TOP

5F的看得我头都大了。。。。。。。。。

TOP

创建连接
rasdial 宽带连接(名称) 用户名 密码

断开连接
rasphone /h 宽带连接(名称)

帖子是我搜出来的,不是挖坟哦,^_^
虽然已经过去很长时间,但还是贴出来吧,我觉得这个很有用!

TOP

返回列表