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

¿Es posible descargar usando la línea de comandos de Windows?

Sin usar ninguna utilidad no estándar (incluida la de Windows), ¿es posible descargar usando la línea de comandos de Windows?

La versión preferida es Windows XP, pero también es interesante saber para versiones más recientes.

Para aclarar mi pregunta:

  • Tiene que estar usando HTTP
  • El archivo tiene que ser guardado
  • Estándar limpio de Windows instalado, sin herramientas extras

Así que básicamente, ya que todo el mundo está gritando Wget _, quiero la funcionalidad simple de Wget, sin usar Wget.

Respuestas (13)

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

A partir de Windows 7, creo que hay un único método que aún no se ha mencionado y que es fácil:

Sintaxis:

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

Ejemplo:

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

(Dividido en dos líneas separadas con ^ para la legibilidad (para evitar el desplazamiento). )

Advertencia: Como se indica en los comentarios, el mensaje de ayuda de bitsadmin comienza diciendo:

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.

… pero otro comentario informó que funciona en Windows 8.

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

Windows 7 incluye PowerShell y no hay prácticamente nada que no pueda hacer con PowerShell. Alternativa nativa a wget en Windows PowerShell?

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

PowerShell (incluido en Windows 8 e incluido en .NET para versiones anteriores) tiene esta capacidad. El comando powershell permite ejecutar comandos arbitrarios de PowerShell desde la línea de comandos o desde un archivo .bat. Por lo tanto, lo que se desea es la siguiente línea:

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

Encontré una forma de hacerlo, pero en realidad, sólo instala Wget .

Puedes usar Internet Explorer desde una línea de comandos (iexplore.exe) y luego introducir una URL como argumento. Así que, ejecuta:

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

Sea cual sea el archivo, necesitarás especificar que no necesita confirmación por adelantado. Vaya, realizará la descarga de forma automática. Así que sí, es técnicamente posible, pero Dios mío, hazlo de otra manera.

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

Windows Explorer (no confundir con Internet Explorer) puede descargar archivos a través de HTTP. Sólo tienes que introducir la URL en la barra de direcciones. O desde la línea de comandos, por ejemplo, C:\windows\explorer.exe http://somewhere.com/filename.ext.

Obtienes el clásico aviso de Descarga de archivos. A menos que el archivo sea de un tipo que el Explorador de Windows sepa cómo mostrar en línea, (.html, .jpg, .gif), en cuyo caso necesitarías hacer clic con el botón derecho del ratón para guardarlo.

Acabo de probar esto en mi imagen VMware de una instalación virgen de Windows XP 2002 SP1, y funciona bien.

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

Puedes usar (en un bat de Windows estándar):

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

Parece que requiere PowerShell v4…

(Gracias a ese comentario y este )

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

Use el FTP.

Desde la línea de comandos:

ftp ftp.somesite.com
user
password

etc. El FTP está incluido en todas las versiones de Windows que puedo recordar; probablemente no en la 3.1, tal vez no en Windows 95 , pero ciertamente todo después de eso.

@RM: Va a ser difícil si no quieres descargar ninguna otra herramienta. Existe una línea de comandos Wget para Windows y Wget está diseñada para hacer exactamente lo que estás pidiendo.

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

Use PowerShell así:

  1. Cree un archivo download.ps1:

  2. Ahora puede descargar un archivo como este:

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

Si instalas Telnet, imagino que puedes hacer una petición HTTP a un servidor para descargar un archivo.

También puedes instalar Cygwin , y usar wget para descargar un archivo también. Esta es una forma muy fácil de descargar archivos desde la línea de comandos.

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

El archivo puede ser descargado a través del siguiente método

bitsadmin /transferencia wcb /prioridad alta https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Archivos de programa (x86)\Dell Update\Agenda21.pdf

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

Hay algunas formas de descargar usando la línea de comandos de Windows:

  1. Puedes usar Cygwin .

  2. Usando telnet es posible hacer una petición pero no verás ningún procesamiento.

  3. Puedes escribir scripts de bat o VBS.

  4. Escribe tu propio programa que puedes ejecutar desde cmd.exe.

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

Si tienes instalado python, aquí hay un ejemplo que obtiene el get-pip.py de la 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

En el Windows predeterminado, no se puede descargar a través de HTTP. Windows es un sistema operativo centrado en la interfaz gráfica de usuario, por lo que carece de muchas de las herramientas de línea de comandos que se encuentran en otros sistemas operativos, como wget, que sería el principal candidato.

System.Net.WebClient.DownloadFile(), una función de la API WiniNet, puede descargar archivos, pero no estoy seguro de hasta dónde se está llegando en el desarrollo real frente a un archivo por lotes.