vbs脚本 实现下载文件和建立计划任务

用VB脚本实现
1.下载文件
2.建立计划任务
3.检查计划任务是否建立成功

 

'建立文件夹
dim fPath 
dim returnCode
returnCode="200:ok"
fPath = "D:/WebHostingAdmin/defaultweb/CheckWeb/"
CreateFolder(fPath)

'下载需要的文件
Set xPost = CreateObject("Microsoft.XMLHTTP") 
xPost.Open "GET","http://文件地址",0  
xPost.Send()  
Set sGet = CreateObject("ADODB.Stream")  
sGet.Mode = 3  
sGet.Type = 1  
sGet.Open()  
sGet.Write(xPost.responseBody)  
sGet.SaveToFile fPath+"CheckNet.exe",2

If Err.number<>0 Then
    returnCode="300:匹配文件下载失败"
else
    dim atCommend
    atCommend="schtasks /create /sc minute /mo 5 /tn ""CheckNet"" /tr "+ fPath + "CheckNet.exe" + " /st 00:00:00  /ed 2100/12/31 /ru ""System"""
    
    '建立计划任务
    set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.run atCommend,0,false
    
    wscript.sleep 300
    '检查建立任务是否成功
    If TaskExist()=false Then
       '建立失败
       returnCode="400:计划任务建立失败"
    end if
    
    set WshShell=Nothing
end if

Wscript.echo returnCode & vbcrlf
Wscript.echo "MY_VERSION=1.0" & vbcrlf


'建立文件夹
Sub CreateFolder(fldr)
    Dim fso, f, msg
    Set fso = CreateObject("Scripting.FileSystemObject")
    If (fso.FolderExists(fldr)) Then
       'msg = fldr & " exists."
    Else
       Set f = fso.CreateFolder(fldr)
       'msg = fldr & " is created."
    End If
    'WScript.Echo msg
End Sub


'检查计划任务是否建立成功
function TaskExist
    dim fso
    dim flag
    flag=false
    set fso = createobject("scripting.filesystemobject")
    dim path
    path ="C:/WINDOWS/Tasks/CheckNet.job"
    
    if  fso.FileExists(path) then
        flag=true
        Wscript.echo "exist"
    else
        Wscript.echo "not exist"
    end if
    
    set fso=Nothing    
    TaskExist=flag
end function

 

在写的过程中遇到一些问题,记录下。

           1.VBS中,字符串中有双引号问题,用""表示",类似于C中的/"表示"

           2.查了很多资料,不知道该怎么判断计划任务是否建立成功,实在没办法了,就只好用判断文件的方法了。

           3.VBS不大好,写个延迟,总出错,原来是要这样写: wscript.sleep 300,直接写sleep 300总是运行时错误。

posted @ 2012-05-16 15:33  canlay  阅读(790)  评论(0)    收藏  举报