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.htmlcomo 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.