Aqui está um simples one-liner para o PS 3.0 e posterior que funciona e não envolve muito PS:
wget http://blog.stackexchange.com/ -OutFile out.html
Observe que:
-
wget
é um alias paraInvoke-WebRequest
- O Invoke-WebRequest retorna um HtmlWebResponseObject , que contém muitas propriedades de análise de HTML úteis, como Links, Imagens, Formulários, InputFields, etc., mas neste caso estamos apenas usando o conteúdo bruto
- O conteúdo do arquivo é armazenado na memória antes de ser gravado no disco, tornando essa abordagem inadequada para o download de arquivos grandes
-
Nas instalações do Windows Server Core, você precisará escrever isso como
wget http://blog.stackexchange.com/ -UseBasicParsing -OutFile out.html
-
Antes de 20 de setembro de 2014, sugeri
(wget http://blog.stackexchange.com/).Content >out.html
como resposta. No entanto, isso não funciona em todos os casos, pois o operador
>
(que é um alias paraOut-File
) converte a entrada para Unicode.
Se você estiver usando o Windows 7, precisará instalar a versão 4 ou mais recente do Windows Management Framework.
Você pode descobrir que fazer $ProgressPreference = "silentlyContinue"
antes de Invoke-WebRequest
aumentará significativamente a velocidade de download com arquivos grandes; essa variável controla se a interface do usuário de progresso é renderizada.