我有以下vbscript
Set colNamedArguments = WScript.Arguments.Named
dim logFSO, logFile
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set logFSO = CreateObject("Scripting.FileSystemObject")
>>>> 'Set logFile = logFSO.OpenTextFile("a.log", ForAppending, True)
strFileURL = <passed from batch script>
strHDLocation = <passed from batch script>
WebUser = "user"
WebPass = "pwd"
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
'objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.open "GET", strFileURL, false, WebUser, WebPass
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
'Set objFSO = Createobject("Scripting.FileSystemObject")
' If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
'Set objFSO = Nothing
objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
我在批处理脚本的循环中调用脚本,如果以&gt;&gt;&gt;&gt;&gt;开头的行,情况会很好注释,如果取消注释,则只下载其中一个文件。 例如,如果我两次调用它来下载a.pdf ad b.pdf,它只下载其中一个。 如果我注释掉上面提到的那一行,它会成功下载所有文件。有什么问题?
答案 0 :(得分:0)
我建议您向我们展示您的.bat文件 - 但是水晶球告诉我您正在调用VBscript两次而不是等待第一次完成。
我会尝试你的批次
start /wait vbscipt...
或
CALL vbscript...
至于为什么 - 作为VBScript的完整政治家,我建议你打开追加日志文件,第二个脚本运行,而第一个stil打开日志文件。