Я хочу способ загрузить файл через HTTP, учитывая его URL (подобный тому, как wget работает). Я видел ответы на этот вопрос, но у меня есть два изменения в требованиях:
Так, по существу я хотел бы .cmd (пакет) сценарий, VBScript или сценарий PowerShell, который может выполнить загрузку. Это могло использовать COM или вызвать Internet Explorer, но это должно работать без любого входа и должно вести себя хорошо при вызове без дисплея (такой как через сессию Telnet).
Я использовал бы БИТЫ (краткая информация):
Background Intelligent Transfer Service (BITS) is a component of modern
Microsoft Windows operating systems that facilitates prioritized,
throttled, and asynchronous transfer of files between machines using
idle network bandwidth.
Начиная с Windows 7, Microsoft советует для использования PowerShell cmdlets для БИТОВ.
% import-module bitstransfer
% Start-BitsTransfer http://path/to/file C:\Path\for\local\file
Вы могли также использовать БИТЫ через COM, видеть здесь для VBScript в качестве примера. И существует 'bitsadmin', инструмент командной строки для управления загрузками:
BITSAdmin is a command-line tool that you can use to create download or
upload jobs and monitor their progress.
В Windows 7 bitsadmin.exe
указывает себя, что это - инструмент устаревший. Тем не менее:
% bitsadmin.exe /transfer "NAME" http://path/to/file C:\Path\for\local\file
Попробуйте класс Веб-клиента. Существует демонстрационный сценарий PowerShell у основания этой страницы:
$c = new-object system.net.WebClient
$r = new-object system.io.StreamReader $c.OpenRead("http://superuser.com")
echo $r.ReadToEnd()