Загрузите файл через HTTP из сценария в Windows

Я хочу способ загрузить файл через HTTP, учитывая его URL (подобный тому, как wget работает). Я видел ответы на этот вопрос, но у меня есть два изменения в требованиях:

  • Я хотел бы, чтобы это работало на Windows 7 или позже (хотя, если это работает над Windows XP, это - премия).
  • Я должен смочь сделать это на машине запаса с только сценарием, который должен быть текстом, который мог быть легко введен на клавиатуре или копировать/вставлять.
  • Чем короче, тем лучше.

Так, по существу я хотел бы .cmd (пакет) сценарий, VBScript или сценарий PowerShell, который может выполнить загрузку. Это могло использовать COM или вызвать Internet Explorer, но это должно работать без любого входа и должно вести себя хорошо при вызове без дисплея (такой как через сессию Telnet).

19
задан 20.03.2017, 12:16

2 ответа

Я использовал бы БИТЫ (краткая информация):

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
14
ответ дан 07.12.2019, 10:16

Попробуйте класс Веб-клиента. Существует демонстрационный сценарий PowerShell у основания этой страницы:

$c = new-object system.net.WebClient
$r = new-object system.io.StreamReader $c.OpenRead("http://superuser.com")
echo $r.ReadToEnd()
7
ответ дан 07.12.2019, 10:16

Теги

Похожие вопросы