How can I download a file from the Internet via Command Prompt? [duplicate]
As mentioned in the title I need a command line that allows me to download a file in the background without installing any tool just cmd I found this one but it doesn’t work in the background and Need a confirmation
so how to make the magic happen? and is there another command that i need to add it to the above line like a confirmation !?
1 Answer 1
CMD doesn’t have a built-in download command. You can download a utility like wget, and get the file with
PowerShell, which is built into every version of Windows 7 and above, does have a built-in command for downloading in Invoke-Webrequest
You can invoke this in one line from CMD by using the following PowerShell.exe command line.
Not the answer you’re looking for? Browse other questions tagged windows cmd or ask your own question.
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Download a file from the command line in Windows
As a Linux user, I can’t help but spend most of my time on the command line. Not that the GUI is not efficient, but there are things that are simply faster to do with the keyboard.
Think about copy and paste. Select a text you want to copy, go to the edit menu, click, precisely move down to copy, click, then go to the destination, click where you want to paste, go to edit menu, click, move down to the paste option, then paste. Every time I see someone do this, I die a little inside. Sure you can save some time by right-clicking, copy, right-click, paste. But you can save some more time by pressing, ctrl-c then ctrl-v
My hands are already on the keyboard, and I would rather do the mundane things on the keyboard and not think about them.
One thing I do frequently is download files. They can be zip file, tgz, or jpg. On linux, all I have to do is open the command line, run wget with the file I want to download and it is done.
Straight to the point. But how do you do that when you are on a Windows machine? Let me introduce you to cURL, pronounced curl. (i don’t know why I wrote it the way I did)
curl is a very powerful tool with too many feature. But I just want to download the file on Windows so let’s just learn how to do that.
Open PowerShell. That’s Windows Key + R then type powershell and press enter.
Now run the curl command with the -O option to specify the file output.
Easy right? Now you can download files right from the command line all by simply using your keyboard.
OK. It is time I confess. This is not the curl tool you are using. It’s only an alias. In reality, we are calling the command Invoke-WebRequest . But hey! It works, so we don’t care. You can call it in its native format if you want to.
Either way, now you know how to download a file from the command line.
Did you like this article? You can subscribe to read more awesome ones. Share your insightful comments here.
Windows bat download file
Как-то на одном из web-ресурсов одному товарищу попалась коллекция редких видеороликов, которые, как показало исследование страницы сайта, были загружены в конкретную директорию на том самом сайте и имели однотипные названия файлов. И этот товарищ захотел скачать эти видеоролики на свой компьютер, чтобы ознакомиться с их содержимым в более спокойной обстановке и без интернета (в самолете во время длительного перелета).
Таким образом сформировалась задача — скачать эти видеоролики, причем, желательно автоматизированно, так как их количество было более 400 шт!
Вариантов скачать данные файлы было несколько:
1. С помощью одного их плагинов для браузера, позволяющих сохранять видео с web-страницы. Данный вариант не подходил, так как абсолютно не имел автоматизации, и каждый видео-файл нужно было бы запускать и скачивать отдельно. НЕ ПОДХОДИТ!
2. Открывать каждый файл по прямой ссылке (типа такой: http: // site.ru/some-folder/video154.mp4) и с помощью нажатия клавиш CTRL + S сохранять файл в нужную папку на компьютере. Этот способ сохранения также без автоматизации. НЕ ПОДХОДИТ!
3. Использовать программу Offline Explorer Enterprise или ее аналог. Подобные программы могут скачивать сайты почти со всем их содержимым, можно настроить скачивание только конкретных типов файлов, запустить процесс и ждать окончания, занимаясь другими делами.
Но данные программы практически все платные, их нужно найти, скачать, купить(?!), установить, настроить и только после этого запустить процесс и наслаждаться результатом. НЕ ОЧЕНЬ ПОДХОДИТ!
4. Использовать простую программу WGET и БАТник (BAT-файл). Программа WGET бесплатная, БАТник написать — 5 минут, и готово! Запустить БАТник и ждать окончания скачивания всех файлов. ПОДХОДИТ!
Содержимое BAT-файла:
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video1.mp4» — P D : \ 2
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video2.mp4» — P D : \ 2
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video3.mp4» — P D : \ 2
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video4.mp4» — P D : \ 2
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video5.mp4» — P D : \ 2
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video6.mp4» — P D : \ 2
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video7.mp4» — P D : \ 2
wget . exe — c —no—check— certificate «http: // site.ru/some-folder/video450.mp4» — P D : \ 2
Синтаксис команды очень простой:
wget.exe — использовать программу WGET;
-c — ключ для возобновления закачки с места остановки, если загрузка файла случайно прервется;
—no-check-certificate — игнорировать сертификаты сайтов (для HTTPS). Если не добавить этот ключ, а на сайте стоит жесткая переадресация всех HTTP-запросов на HTTPS (например, 301-ый редирект), то можно получить ошибку:
ERROR: cannot verify site.ru’s certificate, issued by `/C=US/O=Let’s Encrypt/CN=Let’s Encrypt Authority X3′: Unable to locally verify the issuer’s authority.
To connect to vs1.coursehunters.net insecurely, use `—no-check-certificate’. Unable to establish SSL connection.
И скачать файлы не получится. Потому что, ХЗ какой сертификат используется :)))
После добавления ключа будет отображаться предупреждение, просто игнорируем его:
WARNING: cannot verify vs1.coursehunters.net’s certificate, issued by `/C=US/O=Let’s Encrypt/CN=Let’s Encrypt Authority X3′: Unable to locally verify the issuer’s authority.
«http: // site.ru/some-folder/video1.mp4» — адрес конкретного файла, который нужно скачать. Внимание: пробелы перед // и после не нужны!
-P D:\2 — путь для сохранения скачиваемых файлов (если не хотим, чтобы файлы сохранялись в папку с программой WGET и БАТником).
Соответственно, прописать в BAT-файле столько строк, сколько файлов нужно скачать. Сгенерировать нужное количество однотипных строк можно с помощью регулярных выражений или программы MS Excel (как вариант).
Итак, нужно сделать следующее:
Создать БАТник;
Скачать программу WGET с этого сайта либо с иного web-ресурса;
Поместить программу WGET в одну папку с БАТником;
Запустить БАТник и ждать окончания процесса скачивания файлов;
Если скачивание в какой-то момент остановится, закрыть консоль и запустить заново, предварительно удалив строки, в которых прописаны уже скачанные файлы. Строку с последним недокаченным файлом не удалять!
Внимание! Для упрощения отладки БАТника не вставляйте в него сразу много строк, а напишите для начала 1-2 и после них добавьте команду на паузу, чтобы успеть прочитать сообщение об ошибке, если она возникнет.
TIMEOUT / T 10 / NOBREAK
Содержимое модифицированного BAT-файла:
(более оптимальное — чтобы не писать много строк в БАТнике, а только одну)
FOR / L %% I IN ( 104 , 1 , 428 ) DO wget . exe — c —no—check— certificate » http: // site.ru/some-folder/video%%I.mp4 » — P D : \ 2 && TIMEOUT / T 20 / NOBREAK
В этом случае скачивание файлов выполняется в цикле.
FOR — оператор цикла;
/L — ключ, задающий обработку набора из последовательности чисел с заданными началом, концом и шагом приращения;
%%I — переменная (если команду просто запускать в CMD или в POWERSHELL, то указывать один знак процента, в БАТнике нужно два);
IN (104,1,428) — диапазон значений для переменной I и шаг изменений: (первое значение, шаг, последнее значение);
http: // site.ru/some-folder/video%%I.mp4 — ссылка на скачивание файлов, содержащая в себе переменную %%I.
&& — оператор «И», позволяющий выполнить в цикле вторую команду, в нашем случае это пауза на 20 секунд. Знак & можно написать один раз.