- @echo off &COLOR 0E &MODE CON: COLS=30 LINES=2 & title Bat+Vbs 计划执行下载并运行脚本。
- ::设置要下载的文件链接,仅支持http协议。必写项。
- set Url=http://www.xxx.com/xxx.exe
-
- ::设置文件保存目录,若下载至当前目录,请留空
- set Save=D:\document
-
- ::设置执行任务的日期,请在CMD 下输入 ECHO %DATE% 得出当前系统的时间格式,,例如我WIN7 X64的系统得出:2018/10/22 周一
- set taskdate=2018/10/22 周一
- :run
- ::判断日期若等同并执行。
- if "%date%"=="%taskdate%" goto document
- echo 当前日期:%date% %time%
- ping 127.0.0.1 -n 10 >nul
- ::循环判断日期。
- goto run
- :document
- for %%a in ("%Url%") do set "FileName=%%~nxa"
- if not defined Save set "Save=%cd%"
- (echo Download Wscript.Arguments^(0^),Wscript.Arguments^(1^)
- echo Sub Download^(url,target^)
- echo Const adTypeBinary = 1
- echo Const adSaveCreateOverWrite = 2
- echo Dim http,ado
- echo Set http = CreateObject^("Msxml2.ServerXMLHTTP"^)
- echo http.open "GET",url,False
- echo http.send
- echo Set ado = createobject^("Adodb.Stream"^)
- echo ado.Type = adTypeBinary
- echo ado.Open
- echo ado.Write http.responseBody
- echo ado.SaveToFile target
- echo ado.Close
- echo End Sub)>DownloadFile.vbs
- ::VBS执行下载
- DownloadFile.vbs "%Url%" "%Save%\%FileName%"
- ::删除VBS 文件
- del DownloadFile.vbs
- ::执行已下载文件,若下载包支持静默安装参数,请填写参数。
- start %Save%\%FileName%
-
复制代码 几十分钟写好,未经测试,若有疑问一起研究。
微信:yssjia |