Existe uma ferramenta de linha de comando interna no Windows, como wget / curl?

40

Eu venho de um background Linux / Unix e fiquei pensando se o Windows possui um binário que pode baixar arquivos do console.

Gostaria de automatizar um determinado processo e um dos meus requisitos para não instalar muito software, mas usar o material embutido o máximo possível.

Obrigado!

carlspring
fonte
para ser honesto .. wget e curl não são realmente comandos embutidos.
Mike
11
Windows 8.1, outubro de 2017 - curl e wget estão incluídos no PowerShell, como mostra: stackoverflow.com/questions/33364752/…
SDsolar
Ainda não tenho cred suficiente para postar uma resposta neste site, mas a resposta aceita está incorreta. De fato, existe uma alternativa bitsadmin /transfer myDownloadJob /download /priority normal https://path/to/remote/file.txt c:\path\to\local\file.txt
pronta para uso

Respostas:

11

Não há wget como comando interno no Windows. Você pode usar o .net Framework via Windows PowerShell, como neste exemplo:

https://superuser.com/questions/362152/native-alternative-to-wget-in-windows-powershell

ou como eu faço e uso o wget para Windows:

http://gnuwin32.sourceforge.net/packages/wget.htm

user1008764
fonte
11
Obrigado! Eu esperava um binário nativo, mas ... que diabos é isso! : D
carlspring 01/03/2013
A versão gnu do wget para Windows possui um grande erro que o faz travar ao baixar arquivos grandes.
Juan Jimenez
Ainda não tenho cred suficiente para postar uma resposta neste site, mas a resposta aceita está incorreta. De fato, existe uma alternativa bitsadmin /transfer myDownloadJob /download /priority normal https://path/to/remote/file.txt c:\path\to\local\file.txt
pronta para uso
24

Powershell.

$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source, $dest)

Há também Invoke-WebRequest no PS 3.0.

Ryan Ries
fonte
Eu realmente esperava uma parte de implementação nativa do sistema.
carlspring
5
É uma parte nativa do sistema. Ele vem com o Windows pronto para uso.
Ryan Ries
13

Se você possui o PowerShell> = 3.0, pode usar Invoke-WebRequest

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

Ou jogou golfe

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

Baixe um arquivo via HTTP no Windows

Steven Penny
fonte
11
Acabei de verificar ... "wget" é um alias interno para Invoke-WebRequest. :)
Charles Burge
3
@CharlesBurge ele é removido com PowerShell 6
Steven Penny
7

Eu gosto do utilitário http-ping. Você pode executar com estas configurações: faça ping uma vez e salve o conteúdo em google.html

http-ping.exe -n 1 http://www.google.com/ -f google.html

Não requer instalação. Confira mais sobre o http-ping aqui

mstrumyla
fonte