Как скачать файлы из командной строки в Windows, как wget или cURL

Как я могу скачать что-то из интернета непосредственно без Internet Explorer или Firefox открытие Acrobat Reader / Quicktime / MS Word / что?

Я использую Windows, поэтому версия Windows Wget будет делать.

18
задан Peter Mortensen
17.03.2023 23:19 Количество просмотров материала 3090
Распечатать страницу

17 ответов

Wget для Windows должны работать.

с wget Wiki FAQ:

GNU Wget - бесплатная сетевая утилита для извлечения файлов из мира Широкая паутина используя HTTP и FTP, 2 наиболее широко используемый интернет протоколы. Он работает неинтерактивно, что позволяет фон, после выхода из системы.

с этот раздел FAQ, скачать ссылки предложил:

Двоичные Файлы Windows

ссылка с учтивостью Ерней Simončič используется вместо этого.

161
отвечен clearkimura 2023-03-19 07:07

альтернатива, которую я недавно обнаружил, используя PowerShell:

$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")

это работает также с GET запросов.

Если необходимо указать учетные данные для загрузки файла, добавьте следующую строку:

$client.Credentials =  Get-Credential                

появится стандартный запрос учетных данных windows. Введенные там учетные данные будут использоваться для загрузки файла. Это нужно сделать только один раз за все время использования объекта $client.

279
отвечен Ubeogesh 2023-03-19 09:24

Если у вас PowerShell > = 3.0, вы можете использовать Invoke-WebRequest

Invoke-WebRequest -OutFile index.html http://superuser.com

или golfed

iwr -outf index.html http://superuser.com

Скачать файл через HTTP в Windows

65
отвечен Steven Penny 2023-03-19 11:41

Windows имеет свою собственную утилиту загрузки командной строки -BITSAdmin:

BITSAdmin-это инструмент командной строки, который можно использовать для создания загрузки или загружать задания и следить за их ходом.

EDIT:26.01.15 - вот мой обзор того, как файл может быть загружен на windows без внешних инструментов

и полный bitsadmin пример:

bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:mb.zip

Edit:15.05.2018 - оказалось, что можно скачать с файл с сертификатом тоже:

certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip

Certutil не устанавливается по умолчанию на XP / Win2003, но avaialble на новых версиях windows.Для XP/2003 вам понадобится Admin Tool Pack для windows server 2003

42
отвечен npocmaka 2023-03-19 13:58

сохраните следующий текст в wget.js и просто позвонить

cscript /nologo wget.js http://example.com

этот код:

var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false);
WinHttpReq.Send();
WScript.Echo(WinHttpReq.ResponseText);

/* To save a binary file use this code instead of previous line
BinStream = new ActiveXObject("ADODB.Stream");
BinStream.Type = 1;
BinStream.Open();
BinStream.Write(WinHttpReq.ResponseBody);
BinStream.SaveToFile("out.bin");
*/
28
отвечен user190042 2023-03-19 16:15

Я сделал быстрый myGet.bat-файл, который вызывает метод PowerShell, описанный выше.

@Echo OFF
SetLocal EnableDelayedExpansion
Set Var=%1
Set Var=!Var:http://=!
Set Var=!Var:/=,!
Set Var=!Var:%%20=?!
Set Var=!Var: =?!
Call :LOOP !var!
Echo.Downloading: %1 to %~p0!FN!
powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('%1','%~p0!FN!')
GoTo :EOF
:LOOP
If "%1"=="" GoTo :EOF
Set FN=%1
Set FN=!FN:?= !
Shift
GoTo :LOOP

я заимствовал код из разбор URL для имени файла с пробелом.

17
отвечен MartinC 2023-03-19 18:32

есть родной завиток для Windows доступен здесь. Существует множество разновидностей-с поддержкой SSL и без нее.

вам не нужен дополнительный багаж Cygwin и любит, только один маленький EXE-файл.


также важно знать, что есть оба wget и curl псевдонимы, встроенные во все современные версии Windows Powershell. Они эквивалентны.

нет дополнительные файлы или загрузки требуется получить wget функции:

Использование Curl В Powershell (Общительный Выродок)

выдержка:

вы можете ввести команду cURL, как тот, который загружает файл из Репозитории GitHub.

скручиваемость http://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json

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

псевдонимы в PowerShell позволяют создавать ярлыки для более длинных команд, так что вам не придется вводить их все время.

если ввести команду Get-Alias, появится список всех псевдонимов, используемых в PowerShell. Как видите, команда curl просто вызывает команду Invoke-WebRequest. Они похожи, но не то же самое, поэтому выше запрос не работает для нас.

enter image description here

для правильной работы в PowerShell проще всего использовать переменные и -OutFile аргументов, как показано ниже:

enter image description here

(имя файла обрезано в изображении "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json")

этот синтаксис загрузит полное содержимое целевого файла azuredeploy.json локальный файл newfile.json


основное преимущество заключается в том, что он встроен в Powershell сам по себе, так что этот код будет выполняться непосредственно без загрузки или каких-либо других дополнительных файлов, необходимых для его работы на любой современной версии Windows.

15
отвечен SDsolar 2023-03-19 20:49

Я искал то же самое, и поскольку у меня не было привилегии установить любой из вышеперечисленных пакетов, я пошел на небольшой обходной путь (для загрузки 30+файлов):

  • Я создал пакетный файл
  • перечислены все файлы
  • Put firefox.exe в начале каждой строки
  • пошел в каталог firefox в Program Files
  • запустил его.
8
отвечен Simon 2023-03-19 23:06

If PowerShell Это вариант, это предпочтительный маршрут, так как вам (потенциально) не придется устанавливать ничего лишнего:

(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')

В противном случае, Wget для Windows, Как отметили другие, безусловно, второй лучший вариант. Как опубликовано в другом ответе, похоже, что вы можете скачать Wget все само по себе, или вы можете захватить его как часть Cygwin или MSys.

Если по какой-то причине, вы не найдете сами застряли в временной деформации, используя машину, которая не имеет PowerShell и у вас нет доступа к работающему веб-браузеру (то есть Internet Explorer является единственным браузером в системе, и его настройки повреждены), а ваш файл находится на FTP-сайте (в отличие от HTTP):

start->run "FTP", press "OK".

Если память служит он был там с Windows 98, и я могу подтвердить, что он по-прежнему существует в Windows 8 RTM (вы, возможно, придется перейти в appwiz.cpl и добавить/удалить компоненты, чтобы получить она.) Эта утилита может как загружать, так и загружать файлы на/с FTP-сайтов в интернете. его можно также использовать в сценариях для того чтобы автоматизировать любую деятельность.

этот встроенный инструмент был для меня настоящим спасателем в прошлом, особенно во времена ftp.cdrom.com - я загрузил Firefox таким образом однажды, на полностью сломанной машине, у которой было только подключение к интернету (когда максимальный размер пакета sneakernet все еще составлял 1,44 МБ, а Firefox все еще назывался "Netscape" / me делает trollface).

несколько советов: это собственный командный процессор, и у него свой синтаксис. Попробуйте ввести "помощь". Все FTP-сайты требуют имя пользователя и пароль; но если они позволяют "анонимные" пользователи, имя пользователя "анонимный" и пароль Ваш адрес электронной почты (вы можете сделать один, если вы не хотите, чтобы быть отслежены, но, как правило, есть какая-то логика, чтобы убедиться, что это действительный адрес электронной почты).

3
отвечен BrainSlugs83 2023-03-20 01:23

Cygwin имеет Wget (и многие другие утилиты).

3
отвечен Rich Homolka 2023-03-20 03:40

иhttp://www.httrack.com/ имеет хороший графический интерфейс (и это бесплатно), для зеркального отображения сайтов. Он также имеет версию Linux.

2
отвечен Zsolt Botykai 2023-03-20 05:57

Если вы хотите графический интерфейс, то попробуйте VisualWget, который на самом деле чистый, и функция полная. Он основан на GNU Wget для его движка загрузки.

изменить: обновленная ссылка.

1
отвечен Wurlitzer 2023-03-20 08:14

вы могли бы также использовать wget упаковано в PowerShell. ;^) Чтобы открыть, нажмите клавишу Windows и введите " powershell "или Windows-R и введите" powershell " и нажмите return.

установка не требуется.

одно интересное отличие от обычного wget (более этой ссылке): вы не можете просто использовать больше труб в файл. wget в PowerShell это просто удобная оболочка для Invoke-WebRequest, и вам нужно использовать свой синтаксис к писать в файл.

wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
1
отвечен ruffin 2023-03-20 10:31

Я думаю, что установка wget via Chocolatey-самый простой способ.

  1. установить Chocolatey
  2. из командной строки, типа: choco install wget
  3. вы можете использовать wget из командной строки, как в системах *nix.
1
отвечен sivabudh 2023-03-20 12:48

вы можете получить WGet для Windows здесь. В качестве альтернативы вы можете щелкнуть правой кнопкой мыши на ссылку для загрузки элемента, который вы хотите загрузить и выберите Сохранить как. Это позволит загрузить файл и не открывать его в назначенном приложении.

0
отвечен BinaryMisfit 2023-03-20 15:05

альтернативой использованию gnuwin32 является unxutils, который включает wget.

-1
отвечен Chris Chilvers 2023-03-20 17:22

Если вам нужен visual сообщение для Windows,здесь - один.

Вы можете публиковать данные или файлы с ним.

-3
отвечен Rigel 2023-03-20 19:39

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх