Скачивание файлов через VBScript
Цитата: Oleg Lyaskovsky от 14.07.2024, 21:49Всем привет.
Время от времени мне необходимо обновлять файл на моем компьютере, для этого я захожу на локальный сервер, скачиваю файл, перемещаю файл из загрузок в нужное мне место и пользуюсь им дальше.
Нашел в интернете скрипт, который может скачивать файл и он с этим справляется на все 100%, только есть один вопрос, как указать, чтобы скрипт качал файл не в какую-нибудь конкретную папку, а туда где находится сам скрипт?
(В качестве примера взял вайбер, так как не могу дать доступ к локальному серверу, но суть вопроса думаю понятно)InetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe" localFile = "C:\Users\Admin\Desktop\ViberSetup.exe" Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") oXMLHTTP.Open "GET", InetFile, 0 oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream") oADOStream.Mode = 3 oADOStream.Type = 1 oADOStream.Open oADOStream.Write oXMLHTTP.responseBody oADOStream.SaveToFile localFile, 2 Set oXMLHTTP = Nothing Set oADOStream = Nothing
Всем привет.
Время от времени мне необходимо обновлять файл на моем компьютере, для этого я захожу на локальный сервер, скачиваю файл, перемещаю файл из загрузок в нужное мне место и пользуюсь им дальше.
Нашел в интернете скрипт, который может скачивать файл и он с этим справляется на все 100%, только есть один вопрос, как указать, чтобы скрипт качал файл не в какую-нибудь конкретную папку, а туда где находится сам скрипт?
(В качестве примера взял вайбер, так как не могу дать доступ к локальному серверу, но суть вопроса думаю понятно)
InetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe"
localFile = "C:\Users\Admin\Desktop\ViberSetup.exe"
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", InetFile, 0
oXMLHTTP.Send
Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3
oADOStream.Type = 1
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody
oADOStream.SaveToFile localFile, 2
Set oXMLHTTP = Nothing
Set oADOStream = Nothing
Цитата: Oleg Lyaskovsky от 14.07.2024, 21:57Как получить путь к самому скрипту, что б он понимал откуда он запущен, я тоже нашел:
localFile = CurrentPath = Mid(WScript.ScriptFullName,1,InStrRev(WScript.ScriptFullName,"\")-1)но не знаю где именно указать имя файла... так как качается просто файл с именем "0" и мне тогда нужно вручную менять название и расширение файла.
Как получить путь к самому скрипту, что б он понимал откуда он запущен, я тоже нашел:
localFile = CurrentPath = Mid(WScript.ScriptFullName,1,InStrRev(WScript.ScriptFullName,"\")-1)
но не знаю где именно указать имя файла... так как качается просто файл с именем "0" и мне тогда нужно вручную менять название и расширение файла.
Цитата: Mikhail от 15.07.2024, 03:35Oleg Lyaskovsky, Привет.
Просто надо было получить путь к текущему скрипту.InetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe" ' в этом блоке и получаешь место скипта и название файла Set fso = CreateObject("Scripting.FileSystemObject") scriptFullName = WScript.ScriptFullName scriptFolder = fso.GetParentFolderName(scriptFullName) localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe") Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") oXMLHTTP.Open "GET", InetFile, False oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream") oADOStream.Mode = 3 oADOStream.Type = 1 oADOStream.Open oADOStream.Write oXMLHTTP.responseBody oADOStream.SaveToFile localFile, 2 Set oXMLHTTP = Nothing Set oADOStream = Nothing Set fso = Nothing
Oleg Lyaskovsky, Привет.
Просто надо было получить путь к текущему скрипту.
InetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe"
' в этом блоке и получаешь место скипта и название файла
Set fso = CreateObject("Scripting.FileSystemObject")
scriptFullName = WScript.ScriptFullName
scriptFolder = fso.GetParentFolderName(scriptFullName)
localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe")
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", InetFile, False
oXMLHTTP.Send
Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3
oADOStream.Type = 1
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody
oADOStream.SaveToFile localFile, 2
Set oXMLHTTP = Nothing
Set oADOStream = Nothing
Set fso = Nothing
Цитата: Oleg Lyaskovsky от 15.07.2024, 07:57Цитата: Mikhail от 15.07.2024, 03:35Oleg Lyaskovsky, Привет.
Просто надо было получить путь к текущему скрипту.InetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe"' в этом блоке и получаешь место скипта и название файлаSet fso = CreateObject("Scripting.FileSystemObject")scriptFullName = WScript.ScriptFullNamescriptFolder = fso.GetParentFolderName(scriptFullName)localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe")Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")oXMLHTTP.Open "GET", InetFile, FalseoXMLHTTP.SendSet oADOStream = CreateObject("ADODB.Stream")oADOStream.Mode = 3oADOStream.Type = 1oADOStream.OpenoADOStream.Write oXMLHTTP.responseBodyoADOStream.SaveToFile localFile, 2Set oXMLHTTP = NothingSet oADOStream = NothingSet fso = NothingInetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe" ' в этом блоке и получаешь место скипта и название файла Set fso = CreateObject("Scripting.FileSystemObject") scriptFullName = WScript.ScriptFullName scriptFolder = fso.GetParentFolderName(scriptFullName) localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe") Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") oXMLHTTP.Open "GET", InetFile, False oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream") oADOStream.Mode = 3 oADOStream.Type = 1 oADOStream.Open oADOStream.Write oXMLHTTP.responseBody oADOStream.SaveToFile localFile, 2 Set oXMLHTTP = Nothing Set oADOStream = Nothing Set fso = NothingInetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe" ' в этом блоке и получаешь место скипта и название файла Set fso = CreateObject("Scripting.FileSystemObject") scriptFullName = WScript.ScriptFullName scriptFolder = fso.GetParentFolderName(scriptFullName) localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe") Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") oXMLHTTP.Open "GET", InetFile, False oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream") oADOStream.Mode = 3 oADOStream.Type = 1 oADOStream.Open oADOStream.Write oXMLHTTP.responseBody oADOStream.SaveToFile localFile, 2 Set oXMLHTTP = Nothing Set oADOStream = Nothing Set fso = NothingОй большое спасибо!)🤝 То что искал😇
Цитата: Mikhail от 15.07.2024, 03:35Oleg Lyaskovsky, Привет.
Просто надо было получить путь к текущему скрипту.InetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe"' в этом блоке и получаешь место скипта и название файлаSet fso = CreateObject("Scripting.FileSystemObject")scriptFullName = WScript.ScriptFullNamescriptFolder = fso.GetParentFolderName(scriptFullName)localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe")Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")oXMLHTTP.Open "GET", InetFile, FalseoXMLHTTP.SendSet oADOStream = CreateObject("ADODB.Stream")oADOStream.Mode = 3oADOStream.Type = 1oADOStream.OpenoADOStream.Write oXMLHTTP.responseBodyoADOStream.SaveToFile localFile, 2Set oXMLHTTP = NothingSet oADOStream = NothingSet fso = NothingInetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe" ' в этом блоке и получаешь место скипта и название файла Set fso = CreateObject("Scripting.FileSystemObject") scriptFullName = WScript.ScriptFullName scriptFolder = fso.GetParentFolderName(scriptFullName) localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe") Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") oXMLHTTP.Open "GET", InetFile, False oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream") oADOStream.Mode = 3 oADOStream.Type = 1 oADOStream.Open oADOStream.Write oXMLHTTP.responseBody oADOStream.SaveToFile localFile, 2 Set oXMLHTTP = Nothing Set oADOStream = Nothing Set fso = NothingInetFile = "https://download.cdn.viber.com/desktop/windows/ViberSetup.exe" ' в этом блоке и получаешь место скипта и название файла Set fso = CreateObject("Scripting.FileSystemObject") scriptFullName = WScript.ScriptFullName scriptFolder = fso.GetParentFolderName(scriptFullName) localFile = fso.BuildPath(scriptFolder, "ViberSetup.exe") Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") oXMLHTTP.Open "GET", InetFile, False oXMLHTTP.Send Set oADOStream = CreateObject("ADODB.Stream") oADOStream.Mode = 3 oADOStream.Type = 1 oADOStream.Open oADOStream.Write oXMLHTTP.responseBody oADOStream.SaveToFile localFile, 2 Set oXMLHTTP = Nothing Set oADOStream = Nothing Set fso = Nothing
Ой большое спасибо!)🤝 То что искал😇