2009-10-23 14:58:03 +0000 2009-10-23 14:58:03 +0000
124
124

Можно ли загрузить с помощью командной строки Windows?

Без использования нестандартных (включенных в Windows) утилит, можно ли загрузить с помощью командной строки Windows?

Предпочтительная версия - Windows XP, но ее также интересно знать и для более новых версий.

Для дальнейшего разъяснения моего вопроса:

  • Это должно быть использование HTTP
  • Файл должен быть сохранен
  • Стандартная чистая установка Windows, никаких дополнительных инструментов

Так что в основном, так как все кричат Wget _, я хочу простую функциональность Wget, без использования Wget.

Ответы (13)

74
74
74
2011-05-16 09:13:14 +0000

Начиная с Windows 7, я считаю, что есть один единственный метод, который еще не был упомянут, и он прост:

Синтаксис:

bitsadmin /transfer _job\_name_ /download /priority _priority __URL__ local\path\file_

Пример:

bitsadmin /transfer mydownloadjob /download /priority normal ^ http://example.com/filename.zip C:\Users\_username_\Downloads\filename.zip

(Разбитый на две отдельные строки с помощью ^ для удобочитаемости (чтобы избежать прокрутки)). )

Предупреждение: Как указано в комментариях, справочное сообщение bitsadmin начинается со слов:

BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows.
Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.

… но в другом комментарии сообщается, что оно работает в Windows 8.

40
40
40
2009-10-23 15:27:20 +0000

Windows 7 включает PowerShell, и нет ничего, что вы не могли бы сделать с PowerShell. Внутренняя альтернатива wget в Windows PowerShell?

25
25
25
2014-05-29 02:22:34 +0000

PowerShell (включенная в Windows 8 и входящая в состав .NET для более ранних версий) имеет такую возможность. Команда powershell позволяет выполнять произвольные команды PowerShell из командной строки или файла .bat. Таким образом, следующая строка - это то, что нужно:

powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
17
17
17
2009-10-23 15:12:44 +0000

Я нашел способ сделать это, но на самом деле, просто установите Wget .

Вы можете использовать Internet Explorer из командной строки (iexplore.exe), а затем введите URL в качестве аргумента. Итак, запустите:

iexplore.exe http://blah.com/filename.zip

Независимо от того, что это за файл, вам нужно будет указать, что он не нуждается в подтверждении заранее. Вот увидите, он автоматически выполнит загрузку. Так что да, это технически возможно, но боже правый, сделайте это по-другому.

12
12
12
2011-08-08 15:18:28 +0000

Проводник Windows (не путать с Internet Explorer) может загружать файлы по HTTP. Просто введите URL в адресную строку. Или из командной строки, например, C:\windows\explorer.exe http://somewhere.com/filename.ext.

Вы получаете классическую File Download prompt. Если только файл не является типом, который Windows Explorer знает, как отображать в строке (.html, .jpg, .gif), в этом случае вам нужно будет щелкнуть правой кнопкой мыши, чтобы сохранить его.

Я только что протестировал это на моем VMware образе девственной установки Windows XP 2002 SP1, и он работает нормально.

7
7
7
2016-05-10 14:10:22 +0000

Вы можете использовать (в стандартной бите Windows):

powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }"

Кажется, требуется PowerShell v4…

(Спасибо этот комментарий и этот ]

6
6
6
2009-10-23 15:01:06 +0000

Используйте FTP.

Из командной строки:

ftp ftp.somesite.com
user
password

и т.д. FTP включен в каждую версию Windows, которую я помню; возможно, не в 3.1, возможно, не в Windows 95 , но, конечно, все после этого.

@RM: Будет грубо, если вы не захотите загружать другие утилиты. Существует командная строка Wget for Windows и Wget предназначена для выполнения именно того, что вы просите.

4
4
4
2013-04-21 21:55:08 +0000

Используйте PowerShell следующим образом:

  1. Создайте файл download.ps1:

  2. Теперь вы можете скачать такой файл:

1
1
1
2009-10-23 15:01:33 +0000

Если вы установите Telnet, я думаю, что вы можете сделать HTTP-запрос на сервер для загрузки файла.

Вы также можете установить Cygwin , а также использовать wget для загрузки файла. Это очень простой способ загрузки файлов из командной строки.

1
1
1
2017-12-16 21:25:25 +0000

Файл можно скачать с помощью ниже метода

битсадмин / передача wcb / приоритет высокий https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Program Файлы (x86) \Dell Update\Agenda21.pdf

1
1
1
2011-08-20 03:22:58 +0000

Есть несколько способов загрузки с помощью командной строки в Windows:

  1. Вы можете использовать Cygwin .

  2. Используя telnet можно сделать запрос, но вы не увидите никакой обработки.

  3. Вы можете писать биты или VBS скрипты.

  4. Напишите свою собственную программу, которую можно запустить из cmd.exe.

0
0
0
2014-08-29 23:15:15 +0000

Если у вас установлен python, то вот пример, который достает get-pip.py из веб

python -c "import urllib; urllib.urlretrieve ('https://bootstrap.pypa.io/get-pip.py', r'C:\python27\Tools\get-pip.py')"
```.
0
0
0
2009-10-23 15:04:59 +0000

В Windows по умолчанию загрузка по HTTP невозможна. Windows - это ОС, ориентированная на GUI, поэтому ей не хватает многих инструментов командной строки, которые можно найти в других ОС, таких как wget, которая была бы основным кандидатом.

System.Net.WebClient.DownloadFile(), функция в WiniNet API, может загружать файлы, но я не уверен, как далеко вы заходите в реальной разработке по сравнению с пакетным файлом.