Http 在VBS中下载文件夹

Http 在VBS中下载文件夹,http,networking,vbscript,get,download,Http,Networking,Vbscript,Get,Download,我想下载一个文件夹或单个文件,但我下载文件的方式我不知道文件名,因此这就是我希望下载文件夹的原因,然后我可以将文件夹保存为重写或将其他文件添加到输出文件夹。 对于我正在使用的单个文件 Set args = WScript.Arguments Set objNetwork = CreateObject("Wscript.Network") Url = "http://webpage.com/downloads" dim xHttp: Set xHttp = createobject("Micros

我想下载一个文件夹或单个文件,但我下载文件的方式我不知道文件名,因此这就是我希望下载文件夹的原因,然后我可以将文件夹保存为重写或将其他文件添加到输出文件夹。 对于我正在使用的单个文件

Set args = WScript.Arguments
Set objNetwork = CreateObject("Wscript.Network")
Url = "http://webpage.com/downloads"
dim xHttp: Set xHttp = createobject("Microsoft.XMLHTTP")
dim bStrm: Set bStrm = createobject("Adodb.Stream")
xHttp.Open "GET", Url, False
xHttp.Send


with bStrm
    .type = 1 '//binary
    .open
    .write xHttp.responseBody
    .savetofile "C:\Users\"&objNetwork.UserName&"\AppData\Roaming\downloadfolderarea", 2 '//overwrite
    .end with

非常感谢您的帮助

XMLHttpRequest
对象不支持FTP或SSH。您必须为这些协议使用适当的客户端,例如
ftp.exe
(对于ftp)或来自的工具(对于SSH/SCP/SFTP)。我更喜欢后者,因为您可以使用公钥身份验证,而不是处理用户名/密码

上述客户端是可编写脚本的,您可以使用该方法从VBScript执行它们。
plink
示例:

Set sh = CreateObject("WScript.Shell")
sh.Run "C:\path\to\pscp.exe -i key user@host:/path/to/src C:\dst"

XMLHttpRequests不是这样工作的。如果要下载整个文件夹,必须在服务器上启用目录列表,必须从目录列表中提取文件URL,然后逐个下载。Ansgar因为我是从自己的服务器下载的,我该怎么做(我只有FTP和SSH)。这是一个新的操作系统