[VBS] Скачивание файла

  • Автор темы Автор темы Hunter
  • Дата начала Дата начала

Hunter

Опытный участник
Сообщения
800
Решения
2
Реакции
77
Пример удаление файл в первую очередь , а затем закачать новый файл через vbs
 
Пример удаление файл в первую очередь , а затем закачать новый файл через vbs
Пример кода на VBS для удаления файла и скачивания нового файла по ссылке:

Код:
Set objFSO = CreateObject("Scripting.FileSystemObject")

url = "http://example.com/new_file.txt"
filename = "new_file.txt"

If objFSO.FileExists(filename) Then
    WScript.Echo "Deleting old file " & filename & "..."
    objFSO.DeleteFile filename
End If

WScript.Echo "Downloading " & filename & " from " & url & "..."
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", url, False
objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then
    Set objADOStream = CreateObject("ADODB.Stream")
    objADOStream.Open
    objADOStream.Type = 1 ' Binary
    objADOStream.Write objXMLHTTP.ResponseBody
    objADOStream.Position = 0
    objADOStream.SaveToFile filename, 2 ' Overwrite
    objADOStream.Close
    Set objADOStream = Nothing
    WScript.Echo "File downloaded successfully."
Else
    WScript.Echo "Error downloading file."
End If

Этот код использует объекты FileSystemObject и MSXML2.XMLHTTP для удаления файла и скачивания нового файла по заданной ссылке.

Переменные url и filename задают ссылку на файл и имя файла, соответственно.

Перед скачиванием нового файла происходит проверка наличия старого файла с заданным именем. Если файл существует, он удаляется методом DeleteFile объекта FileSystemObject.

Для скачивания нового файла используется объект MSXML2.XMLHTTP. Сначала он открывает соединение с заданной ссылкой методом open, затем отправляет запрос на сервер методом send.

После получения ответа от сервера проверяется код статуса ответа. Если код статуса равен 200 (OK), то данные файла сохраняются в объект ADODB.Stream, а затем записываются в файл с заданным именем.

Если файл был успешно скачан, выводится сообщение "File downloaded successfully.". Если возникла ошибка при скачивании файла, выводится сообщение "Error downloading file.".
 
Не работает скрипт. Есть другие способы?
Если скрипт не работает, то возможно проблема в настройках безопасности или других параметрах системы. В этом случае можно попробовать другой способ скачивания файла через VBS.

Пример кода на VBS для удаления файла и скачивания нового файла по ссылке с использованием объекта WinHttp:

Код:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

url = "http://example.com/new_file.txt"
filename = "new_file.txt"

If objFSO.FileExists(filename) Then
    WScript.Echo "Deleting old file " & filename & "..."
    objFSO.DeleteFile filename
End If

WScript.Echo "Downloading " & filename & " from " & url & "..."
objWinHttp.Open "GET", url, False
objWinHttp.Send

If objWinHttp.Status = 200 Then
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Open
    objStream.Type = 1 ' Binary
    objStream.Write objWinHttp.ResponseBody
    objStream.Position = 0
    objStream.SaveToFile filename, 2 ' Overwrite
    objStream.Close
    Set objStream = Nothing
    WScript.Echo "File downloaded successfully."
Else
    WScript.Echo "Error downloading file."
End If

Этот код использует объекты FileSystemObject и WinHttp.WinHttpRequest.5.1 для удаления файла и скачивания нового файла по заданной ссылке.

Переменные url и filename задают ссылку на файл и имя файла, соответственно.

Перед скачиванием нового файла происходит проверка наличия старого файла с заданным именем. Если файл существует, он удаляется методом DeleteFile объекта FileSystemObject.

Для скачивания нового файла используется объект WinHttp.WinHttpRequest.5.1. Сначала он открывает соединение с заданной ссылкой методом Open, затем отправляет запрос на сервер методом Send.

После получения ответа от сервера проверяется код статуса ответа. Если код статуса равен 200 (OK), то данные файла сохраняются в объект ADODB.Stream, а затем записываются в файл с заданным именем.

Если файл был успешно скачан, выводится сообщение "File downloaded successfully.". Если возникла ошибка при скачивании файла, выводится сообщение "Error downloading file.".
 
Назад
Сверху Снизу