2

我刚刚发现了这个不错的VBS 代码,它允许从我包含在 VBS 代码中的地址下载一些文件:

Download "www.someadress.com", "c:\file.ext"

Sub Download(sSource,sDest)

    Const adTypeBinary = 1
    Const adSaveCreateNotExist = 1
    Const adSaveCreateOverWrite = 2

    set oHTTP = WScript.CreateObject("Microsoft.XMLHTTP")
    oHTTP.open "GET", sSource, False
    oHTTP.send
    set oStream = createobject("adodb.stream")

    oStream.type = adTypeBinary
    oStream.open
    oStream.write oHTTP.responseBody
    oStream.savetofile sDest, adSaveCreateOverWrite
    set oStream = nothing
    set oHTTP = nothing

End sub

但是,虽然脚本可以运行,但它会静默运行:我看不到任何窗口、弹出窗口或任何东西。下载文件后,它会显示在其文件夹中。

somebat.bat我想用我的 VBS 文件创建一个批处理窗口。例如,我运行我的 .bat 文件,并在此窗口中显示文本"Downloading new file"和下载百分比,例如 .bat 文件"Downloading new file .. 10%"

仅通过编辑和使用我的 VBS 和 .bat 文件是否有可能?

4

1 回答 1

1

用文件名显示“正在下载新文件”没有问题,但显示其进度是。您将需要一种方法,可以将您的下载内容分割成可以按比例测量和绘制的片段,无论是图形进度条还是基于文本的计数器。最好的解决方案是使用具有此类功能的外部实用程序,例如 wget,或者使用更适合此类任务的语言,例如 Ruby,这是 Vbscripters 的自然升级。

于 2013-04-29T18:27:30.330 回答