Board logo

标题: [网络连接] 批处理如何实现批量拨号后的文件下载? [打印本页]

作者: kamada    时间: 2021-10-15 10:33     标题: 批处理如何实现批量拨号后的文件下载?

各位大神,根据搜索论坛,已经实现了批量拨号,脚本如下
@echo off
setlocal enabledelayedexpansion
set txt_file=123.txt
for /f "tokens=1,2 delims==" %%a in ('type "!txt_file!"') do (
Echo %%a %%b
rasdial "宽带连接" /disconnect>nul
rasdial "宽带连接" %%a %%b&&(Echo %%a %%b>>234.txt)
)
pause

但目前不仅仅要求有拨号记录,还需要流量下载,继续搜索后得到一个批量脚本如下:
@echo off&setlocal enabledelayedexpansion

::设置账号与密码文件路径
set "account=123.txt"

::设置拨号连接名称
set "name=宽带连接"

::设置下载文件链接
set "url=https://dl.360safe.com/drvmgr/softwareMgr__360DrvMgrInstaller_beta.exe"

for /f "tokens=1,2 delims=        " %%a in ('type "%account%"') do (
        rem 断开连接
        Rasdial "%name%" /disconnect
        rem 重新连接
    Rasdial "%name%" "%%a" "%%b"
    if !errorlevel! equ 0 (
                wget -q -O "./file.tmp" "%url%"
                if not exist "./file.tmp" (echo;拨号成功,无法上网:%%a>>error.log) else (del /f /q "./file.tmp")
    ) else (echo;拨号失败:%%a)>>error.log
)
pause

但实测仅仅拨号成功,无法进行文件下载
提示wget不可运行,请批处理的大神指点一下问题在哪,感谢
作者: hlzj88    时间: 2021-10-15 12:18

仅以下载部分wget 离开for 和 if 是可以下载的。而且链接和保存文件都是指定的。和for 没有直接关系,可以单独使用。可不可以直接 ping 百度成功&&wget  就下载。依此为判断拨号成功网络通畅为条件来下载。
作者: Batcher    时间: 2021-10-15 21:32

回复 1# kamada


下载 wget.exe 和你的bat脚本放在一个目录下
http://bcn.bathome.net/s/tool/index.html?key=wget




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