Board logo

标题: [网络连接] [已解决]批处理怎样根据计算机名使用对应的宽带账号连接? [打印本页]

作者: wjx79my    时间: 2011-8-1 22:34     标题: [已解决]批处理怎样根据计算机名使用对应的宽带账号连接?

本帖最后由 wjx79my 于 2011-8-4 00:45 编辑

color]color]我单位原来是无盘系统。一直用路由。因近来电信给我单位改成每台电脑都一个账号。求根椐规则式计算机名如A001 A002 A003 之类的计算名对应自身账号密码拨号。账号密码是电信提供的。计算机可以自己设置。一个计算机名对应一个固定账号密码.因为是无盘。如果每台都做一个包的话很费事。所以我想做一个批处理。运行后检测到本机计算机名为A001 就对应的 001111 账号及密码连接电信的宽带。如果检测到本为A003 请用本机对应的如569825 账号拨号连接。计算机名是规则的。但账号是电信提供的。每一台电脑的账号是固定不变的。请各位多多指教。先谢谢各位大佬了。
作者: CUer    时间: 2011-8-2 00:19

计算机名跟账号密码的对应关系是啥?
作者: wjx79my    时间: 2011-8-2 08:16

本帖最后由 wjx79my 于 2011-8-2 08:20 编辑

账号密码是电信提供的。计算机可以自己设置。一个计算机名对应一个固定账号密码.因为是无盘。如果每台都做一个包的话很费事。所以我想做一个批处理。运行后检测到本机计算机名为A001 就对应的 001111 账号及密码连接电信的宽带。如果检测到本为A003 请用本机对应的如569825 账号拨号连接。计算机名是规则的。但账号是电信提供的。每一台电脑的账号是固定不变的。请各位多多指教。
作者: lfoqtal    时间: 2011-8-2 11:10

本帖最后由 lfoqtal 于 2011-8-2 11:17 编辑

要有一个对应文本,格式:机名  帐号  密码,一行一台机,
然后用findstr+ FOR读了对应写入就行了吧
再把下面两个链接中有用的部分取出组合就行了吧

[分享]批处理获取当前计算机信息的一些方法

如何用批处理实现宽带拨号上网?
作者: wjx79my    时间: 2011-8-2 14:18

谢谢您的指导。我自己再学习学习。
作者: Batcher    时间: 2011-8-2 23:28

a.txt格式如下:
第一列是计算机名
第二列是宽带账号
第三列是宽带密码
  1. A001 001111 100001
  2. A002 001112 100002
  3. A003 001113 100003
复制代码
test.bat内容如下:
  1. @echo off
  2. set /p ADSL=<"%userprofile%\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk"
  3. set "ADSL=%ADSL:~1,-1%"
  4. for /f "tokens=1-3" %%a in (a.txt) do (
  5.     if "%%a" equ "%computername%" (
  6.         rasdial "%ADSL%" %%b %%c
  7.     )
  8. )
复制代码

作者: mxxcgzxxx    时间: 2011-8-2 23:35

本帖最后由 mxxcgzxxx 于 2011-8-2 23:39 编辑

回复 6# Batcher


    用FINDSTR可以少个比对时间,如果机子多的话可以省下不少时间,最近比较迷恋这代码呵
  1. for /f "tokens=1-3" %%a in ('findstr /c:"^%computername% " a.txt') do rasdial "%ADSL%" %%b %%c
复制代码

作者: wjx79my    时间: 2011-8-3 08:37

谢谢各位的指教。马上测试研究。这机子确实比较多。
作者: wjx79my    时间: 2011-8-3 14:35

测试Batcher 的代码。好像没用。界面一闪而过。什么结果都没有。请指教。
作者: lfoqtal    时间: 2011-8-3 14:57

回复 9# wjx79my


    在句尾加个 pause试试
如果不行就 在CMD窗口下运行看看有什么错误提示
作者: wjx79my    时间: 2011-8-3 18:48

测试Batcher 的代码后的错误提示为:远程访问错误623系统无法为这个连接找到电话簿项。若需此错误的详细说:
请在帮助中键入“hh.netcfg.chm”
单击“疑难解答”,选择“错误信息”,然后键入“623”
作者: Batcher    时间: 2011-8-3 22:39

回复 11# wjx79my


试试这段结果如何?
  1. set /p ADSL=<"%userprofile%\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk"
  2. set "ADSL=%ADSL:~1,-1%"
  3. for /f "tokens=1-3" %%a in (a.txt) do (
  4.     if "%%a" equ "%computername%" (
  5.         echo rasdial "%ADSL%" %%b %%c
  6.     )
  7. )
  8. pause
复制代码

作者: wjx79my    时间: 2011-8-4 00:43

谢谢各位的指教啦,特别谢谢Batcher。把Batcher 代码省了两步。问题总算解决啦。
  1. for /f "tokens=1-3" %%a in (a.txt) do (
  2.     if "%%a" equ "%computername%" (
  3.          rasdial "宽带连接" %%b %%c
  4.     )
  5. )
复制代码

作者: pgfj18    时间: 2011-8-4 09:34

  1. for /f "tokens=2-3" %%a in ('findstr /b "%computername%" 1.txt') do echo  "宽带连接" %%a %%b
复制代码





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