0

私は次の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 つだけがダウンロードされます。上記の行をコメントアウトすると、すべてのファイルが正常にダウンロードされます。どうした?

4

1 に答える 1