2009-10-23 14:58:03 +0000 2009-10-23 14:58:03 +0000
124
124

É possível descarregar utilizando a linha de comandos do Windows?

Sem utilizar quaisquer utilitários não standard (Windows incluído), é possível descarregar utilizando a linha de comandos do Windows?

A versão preferida é a do Windows XP, mas também é interessante saber para versões mais recentes.

Para esclarecer melhor a minha questão:

  • Tem de estar a usar HTTP
  • O ficheiro tem de ser guardado
  • Instalação standard do Windows limpo, sem ferramentas extra

Então basicamente, uma vez que toda a gente está a gritar Wget _, eu quero uma funcionalidade Wget simples, sem usar Wget.

Respostas (13)

74
74
74
2011-05-16 09:13:14 +0000

A começar pelo Windows 7, creio que existe um único método que ainda não foi mencionado e que é fácil:

Sintaxe:

bitsadmin /transfer _job\_name_ /download /priority _priority __URL__ local\path\file_

Exemplo:

bitsadmin /transfer mydownloadjob /download /priority normal ^ http://example.com/filename.zip C:\Users\_username_\Downloads\filename.zip

(quebrado em duas linhas separadas com ^ para facilitar a leitura (para evitar a rolagem). )

Aviso: Tal como salientado nos comentários, a mensagem de ajuda bitsadmin começa por dizer:

BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows.
Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.

… mas outro comentário refere que funciona no Windows 8.

40
40
40
2009-10-23 15:27:20 +0000

Windows 7 inclui o PowerShell e não há praticamente nada que não possa fazer com o PowerShell. Alternativa nativa ao Windows PowerShell?

25
25
25
2014-05-29 02:22:34 +0000

O PowerShell (incluído com Windows 8 e incluído com .NET para versões anteriores) tem esta capacidade. O comando powershell permite executar comandos PowerShell arbitrários a partir da linha de comando ou de um ficheiro .bat. Assim, a seguinte linha é o que se pretende:

powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
17
17
17
2009-10-23 15:12:44 +0000

Encontrei uma forma de o fazer, mas na verdade, basta instalar Wget .

Pode utilizar o Internet Explorer a partir de uma linha de comando (iexplore.exe) e depois introduzir um URL como argumento. Então, corra:

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

Seja qual for o ficheiro, terá de especificar que não precisa de confirmação antes do tempo. E eis que ele executará automaticamente o download. Portanto, sim, é tecnicamente possível, mas o bom Deus fá-lo de uma forma diferente.

12
12
12
2011-08-08 15:18:28 +0000

O Windows Explorer (não confundir com Internet Explorer) pode descarregar ficheiros via HTTP. Basta digitar o URL na barra de endereços. Ou a partir da linha de comando, por exemplo, C:\windows\explorer.exe http://somewhere.com/filename.ext.

Você recebe o clássico File Download prompt. A não ser que o ficheiro seja do tipo que o Windows Explorer saiba mostrar em linha, (.html, .jpg, .gif), nesse caso teria de clicar no botão direito do rato para o guardar.

Acabei de testar isto na minha imagem VMware de uma instalação virgem do Windows XP 2002 SP1, e funciona bem.

7
7
7
2016-05-10 14:10:22 +0000

Pode utilizar (num bastão normal do Windows):

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

Parece exigir o PowerShell v4…

(Graças a esse comentário e este )

6
6
6
2009-10-23 15:01:06 +0000

Utilizar FTP.

A partir da linha de comando:

ftp ftp.somesite.com
user
password

etc. O FTP está incluído em todas as versões do Windows de que me lembro; provavelmente não em 3.1, talvez não em Windows 95 , mas certamente tudo depois disso.

@RM: Vai ser rude se não quiser descarregar nenhuma outra ferramenta. Existe uma linha de comando Wget for Windows e Wget foi concebida para fazer exactamente o que está a pedir.

4
4
4
2013-04-21 21:55:08 +0000

Use o PowerShell desta forma:

  1. Crie um ficheiro download.ps1:

  2. Agora pode fazer o download de um ficheiro como este:

1
1
1
2009-10-23 15:01:33 +0000

Se instalar o Telnet, imagino que possa fazer um pedido HTTP a um servidor para descarregar um ficheiro.

Também pode instalar Cygwin , e usar wget para descarregar um ficheiro também. Esta é uma forma muito fácil de descarregar ficheiros a partir da linha de comandos.

1
1
1
2017-12-16 21:25:25 +0000

O ficheiro pode ser descarregado através do método abaixo

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

1
1
1
2011-08-20 03:22:58 +0000

Existem algumas formas de descarregar utilizando a linha de comando no Windows:

  1. Pode usar Cygwin .

  2. Usando o telnet é possível fazer um pedido mas não verá nenhum processamento.

  3. Pode escrever scripts de morcegos ou VBS.

  4. Escreva o seu próprio programa que pode correr a partir de cmd.exe.

0
0
0
2014-08-29 23:15:15 +0000

Se tem python instalado aqui está um exemplo que vai buscar o get-pip.py à web

python -c "import urllib; urllib.urlretrieve ('https://bootstrap.pypa.io/get-pip.py', r'C:\python27\Tools\get-pip.py')"
0
0
0
2009-10-23 15:04:59 +0000

No Windows padrão, você não pode fazer o download via HTTP. O Windows é um SO centrado em GUI, por isso faltam-lhe muitas das ferramentas de linha de comandos que encontrará noutros SO, como o wget, que seria o principal candidato.

System.Net.WebClient.DownloadFile(), uma função da API do WiniNet, pode descarregar ficheiros, mas não tenho a certeza até que ponto está a entrar no desenvolvimento real vs. um ficheiro batch.