私は次の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
バッチ スクリプトからループでスクリプトを呼び出します。>>>> で始まる行がコメント化されていれば問題ありません。コメント化されていない場合は、ファイルの 1 つだけがダウンロードされます。たとえば、a.pdf と b.pdf をダウンロードするために 2 回呼び出すと、そのうちの 1 つだけがダウンロードされます。上記の行をコメントアウトすると、すべてのファイルが正常にダウンロードされます。どうした?