Url vbscript在循环变量和句点时遇到问题有什么诀窍?
我没有脚本方面的正式背景,因此我为自己的无知向您道歉。我正试图找到一种方法,使用vbscript将csv文件从internet下载到文件位置。在引用web之后,我能够在一种情况下使用URL和新文件位置/名称的参数成功地做到这一点。然而,我想把这些串成一个for循环来重复多次,所以在命令行中添加参数似乎不起作用。我意识到变量不能有周期。有没有办法将逗号分隔的参数粘贴到命令行中?或者,如果变量有句点(比如web页面),是否有方法将其打包到for循环中 如果我在命令行中添加一个网站和文件位置作为两个参数,则此选项似乎有效:Url vbscript在循环变量和句点时遇到问题有什么诀窍?,url,vbscript,Url,Vbscript,我没有脚本方面的正式背景,因此我为自己的无知向您道歉。我正试图找到一种方法,使用vbscript将csv文件从internet下载到文件位置。在引用web之后,我能够在一种情况下使用URL和新文件位置/名称的参数成功地做到这一点。然而,我想把这些串成一个for循环来重复多次,所以在命令行中添加参数似乎不起作用。我意识到变量不能有周期。有没有办法将逗号分隔的参数粘贴到命令行中?或者,如果变量有句点(比如web页面),是否有方法将其打包到for循环中 如果我在命令行中添加一个网站和文件位置作为两个参
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.Write BinaryGetURL(Wscript.Arguments(0))
BinaryStream.SaveToFile Wscript.Arguments(1), adSaveCreateOverWrite
Function BinaryGetURL(URL)
Dim Http
Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")
Http.Open "GET", URL, False
Http.Send
BinaryGetURL = Http.ResponseBody
End Function
当我试图构建基于变量数组的参数时,我无法让这个工作。似乎在“函数”出现语法错误时失败(变量中的句点):
这一点上的任何轻推都会有所帮助。谢谢 > P>在for循环的中间有<代码>函数<代码>定义为<代码> GETBIALIORIVE文件< /代码>。函数必须是文件的根,而不是在其他代码中 我还通过在块中缩进代码并添加空白来格式化代码。这使得函数中的代码和for循环中的代码更加清晰
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
myWebSite = split(commaseparateURLs,",")
myFileLocation = split (commaseparateFiles,",")
num_WebSite = UBound(myFileLocation)
for i = 0 to num_WebSite
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.Write BinaryGetURL(myWebSite(i))
BinaryStream.SaveToFile myFileLocation(i), adSaveCreateOverWrite
Next
Function BinaryGetURL(URL)
Dim Http
Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")
Http.Open "GET", URL, False
Http.Send
BinaryGetURL = Http.ResponseBody
End Function
哇,这真是太快了,让我克服了这个问题。谢谢@MikeBb-然后请勾选答案上的复选框以接受正确答案。
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
myWebSite = split(commaseparateURLs,",")
myFileLocation = split (commaseparateFiles,",")
num_WebSite = UBound(myFileLocation)
for i = 0 to num_WebSite
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.Write BinaryGetURL(myWebSite(i))
BinaryStream.SaveToFile myFileLocation(i), adSaveCreateOverWrite
Next
Function BinaryGetURL(URL)
Dim Http
Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")
Http.Open "GET", URL, False
Http.Send
BinaryGetURL = Http.ResponseBody
End Function