Можно ли скачать из командной строки Windows?

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

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

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

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

В общем, поскольку все кричат ​​ Wget , Мне нужна простая функциональность Wget без использования Wget.


Вы можете написать VBScript и запустить его из командной строки

Создайте файл downloadfile.vbs и вставьте следующие строки кода:

  'Задайте свои настройки strFileURL = "http://www.it1.net /images/it1_logo2.jpg "strHDLocation =" c:  logo.jpg "'Получить файл Set objXMLHTTP = CreateObject (" MSXML2.XMLHTTP ") objXMLHTTP.open" GET ", strFileURL, false objXMLHTTP.send () Если objXML.  Status = 200 ThenSet objADOStream = CreateObject (  "ADODB.Stream") objADOStream.OpenobjADOStream.Type = 1 'adTypeBinaryobjADOStream.Write objXMLHTTP.ResponseBodyobjADOStream.Position = 0' Устанавливает позицию потока в startSet objFSO = CreateObject.  objFSO.DeleteFile strHDLocationSet objFSO = NothingobjADOStream.SaveToFile strHDLocationobjADOStream.CloseSet objADOStream = NothingEnd ifSet objXMLHTTP = Nothing  

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

cscript.exe downloadfile.vbs


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

Синтаксис:

 bitsadmin/transfer  job_name /download /priority  priority   URL  localpathfile 

Пример:

 bitsadmin/transfer mydownloadjob/download/priority normal ^ http://example.com/filename.zip C:  Users   имя пользователя   Downloads  filename  .zip 

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

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

  BITSAdmin устарел, и его доступность в будущих версиях Windows не гарантируется. Инструменты администрирования для службы BITS теперь предоставляются командлетами BITS PowerShell.  

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

13


Windows 7 включает PowerShell, и практически ничего нельзя сделать с PowerShell..

Собственная альтернатива wget в Windows PowerShell?

5


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

  powershell -command "& {(New-Object Net.WebClient) .DownloadFile ('http://example.com/'  , 'c:  somefile')} " 

4


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

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

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

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

2


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

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

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

2


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

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

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

(Благодаря этому и этому комментарию)


Использовать FTP.

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

  ftp ftp.somesite.comuserpassword  

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

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

4


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

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

      param ($ url, $ filename) $ client = new-object System.Net.WebClient $ client.DownloadFile ($ url, $ filename)  
  2. Теперь вы можете скачать такой файл:

      PowerShell Set-ExecutionPolicy Unrestrictedpowershell -ExecutionPolicy RemoteSigned -File "  download.ps1 "" http://somewhere.com/filename.ext "" d:  filename.ext " 

1


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

  python -c "import urllib; urllib.urlretr  ieve ('https://bootstrap.pypa.io/get-pip.py', r'C:  python27  Tools  get-pip.py ') " 

0


Файл можно загрузить с помощью метода ниже

bitsadmin/transfer wcb/priority high https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C: Program Files (x86) Dell Update Agenda21.pdf


В Win CMD (если у вас есть доступ на запись):

   установить url = https://www.nsa.org/content/hl-images/2017/02/09/NSA.jpgset file = file.jpgcertutil -urlcache -split -f% url%% file%  echo Done.  

Встроено в приложение Windows. Нет необходимости в внешних загрузках.

Проверено на Win 10


Начиная с Windows 10 build 17063 и более поздних версий, Curl теперь включен, так что вы можете запускать его непосредственно из Cmd.exe или PowerShell.exe.

Например:

C:>curl.exe -Vcurl 7.55.1 (Windows) libcurl/7.55.1 WinSSLRelease-Date: 2017-11-14, безопасность исправлена: 2019-11-  05 Протоколы: файл dict ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp Особенности: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL  

Чтобы загрузить файл:

  curl.exe -O https://cdn.sstatic.net/Sites/superuser/Img/logo.svg  


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

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

10


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

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

    Примечание: включенные приложения не являются собственными приложениями Linux. Вы должны перестроить свое приложение из исходного кода, если хотите работать в Windows.

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

  3. Вы можете писать сценарии bat или VBS.

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


Вы можете установить приложение Linux Wget в Windows. Его можно загрузить с http://gnuwin32.sourceforge.net/packages/wget.htm. Затем вы можете ввести команду wget (inserturlhere) или любой другой URL-адрес в командной строке, и это позволит вам загрузить этот URL/файл/изображение.

1


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

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

1



Загрузить файл из командной строки в Windows

Как пользователь Linux, я не могу не проводить большую часть своего времени в командной строке. Не то чтобы графический интерфейс неэффективен, но есть вещи, которые просто быстрее выполнять с помощью клавиатуры.

Подумайте о копировании и вставке. Выберите текст, который вы хотите скопировать, перейдите в меню редактирования, щелкните, точно переместитесь вниз, чтобы скопировать, щелкните, затем перейдите к месту назначения, щелкните то место, куда вы хотите вставить, перейдите в меню редактирования, щелкните, перейдите к параметру вставки , затем вставьте. Каждый раз, когда я вижу, как кто-то это делает, я немного умираю внутри. Конечно, вы можете сэкономить время, щелкнув правой кнопкой мыши, скопировав, щелкнув правой кнопкой мыши, вставив. Но вы можете сэкономить немного времени, нажав, ctrl-c, затем ctrl-v

Мои руки уже находятся на клавиатуре, и я предпочитаю делать обычные что-то на клавиатуре и не думать о них.

Я часто загружаю файлы. Это может быть zip-файл, tgz или jpg. В Linux все, что мне нужно сделать, это открыть командную строку, запустить wget с файлом, который я хочу загрузить, и готово.

  wget http://example.org /picture.jpg

Прямо в точку. Но как это сделать на машине с Windows? Позвольте представить вам cURL, произносится как curl. (не знаю, почему я написал именно так)

curl — очень мощный инструмент со слишком большим количеством функций. Но я просто хочу загрузить файл в Windows, так что давайте просто узнаем, как это сделать.

Откройте PowerShell. Это Windows Key + R , затем введите powershell и нажмите Enter.

Теперь запустите команду curl с параметром -O , чтобы укажите вывод файла.

  curl http://example.org/picture.jpg -O picture.jpg  

Легко верно? Теперь вы можете загружать файлы прямо из командной строки, просто используя клавиатуру.

ОК. Пора признаться. Это не тот инструмент для завивки, который вы используете. Это всего лишь псевдоним. На самом деле мы вызываем команду Invoke-WebRequest . Но эй! Это работает, поэтому нам все равно. Вы можете вызвать его в его собственном формате, если хотите.

  Invoke-WebRequest http://example.org/picture.jpg -O picture.jpg   

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


Понравилась ли вам эта статья? Вы можете подписаться, чтобы читать больше классных. Поделитесь здесь своими проницательными комментариями.

Подпишитесь на рассылку новостей.

Следуйте за мной в Twitter, RSS-канал

Оцените статью
clickpad.ru
Добавить комментарий