434 votos

Cómo descargar archivos desde la línea de comandos en Windows como wget o curl

¿Cómo puedo descargar algo de la web directamente sin que Internet Explorer o Firefox abran Acrobat Reader/Quicktime/MS Word/lo que sea?

Estoy usando Windows, así que una versión de Windows de Wget lo haría.

0 votos

Basta con hacer clic con el botón derecho del ratón en un archivo y pulsar "Guardar destino como" o "Guardar enlace como" o "Guardar como" (el idioma varía según el navegador).

28 votos

El objetivo de tener un comando es poder escribir un archivo por lotes y ejecutarlo (quizás programado como una tarea) en cualquier momento que se desee. Ahí es donde la GUI se queda corta.

5 votos

¿Cómo se descarga con MS Word?

359voto

pacoespinoza Puntos 105

Una alternativa que descubrí recientemente, usando PowerShell:

$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")

También funciona con consultas GET.

Si necesita especificar las credenciales para descargar el archivo, añada la siguiente línea en medio:

$client.Credentials =  Get-Credential                

Aparecerá un aviso de credenciales estándar de Windows. Las credenciales que introduzcas allí se utilizarán para descargar el archivo. Sólo tienes que hacer esto una vez para todo el tiempo que vayas a utilizar el objeto $client.

101 votos

También puede hacerlo en una sola línea: (new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.‌​txt','C:\tmp\file.tx‌​t')

0 votos

Eso no se parece en nada a wget, aunque sólo sea por el hecho de que tienes que instalar otro programa grande sólo para usarlo.

16 votos

@Rob powershell está integrado en Windows...

209voto

Tim Koscielski Puntos 409

Wget para Windows debería funcionar.

Desde el Wget Wiki FAQ :

GNU Wget es una utilidad de red gratuita para recuperar archivos de la Web utilizando HTTP y FTP, los dos protocolos de Internet más utilizados. más utilizados. Funciona de forma no interactiva, lo que permite trabajar en el fondo, después de haber cerrado la sesión.

Desde esta sección de preguntas frecuentes se sugieren enlaces de descarga:

Binarios de Windows

En su lugar se utiliza el enlace con cortesía de Jernej Simoncic.

9 votos

También está Winwget cybershade.us/winwget si prefieres un gui

14 votos

La versión independiente se puede descargar desde este enlace .

6 votos

Más reciente, incluso actualizado (a día de hoy) Construcciones de Windows , proporcionado por Jernej Simoncic

143voto

Red Tux Puntos 1666

CURL

Windows 10 incluye curl.exe :

https://techcommunity.microsoft.com/t5/containers/-/ba-p/382409

para que puedas hacer algo como esto:

# example 1
curl.exe --output index.html --url https://superuser.com
# example 2
curl.exe -o index.html https://superuser.com

Si tienes un Windows más antiguo, aún puedes descargarlo:

https://curl.haxx.se/Windows

PowerShell

# example 1
Invoke-WebRequest -OutFile index.html -Uri https://superuser.com
# example 2
iwr -outf index.html https://superuser.com

https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest

0 votos

Esto no funciona con las redirecciones en sourceforge (y posiblemente otros sitios), a diferencia de System.Net.WebClient . Sin embargo, puede hacer Invoke-WebRequest trabajar añadiendo -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox .

0 votos

La parte de powershell es la única que funciona en el modo core de Server 2016. Tenga en cuenta que debe especificar el securityprotocol como stackoverflow.com/a/48030563/350580 para que https funcione de forma natural

72voto

npocmaka Puntos 403

Es posible descargar un archivo con certutil :

certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip

Certutil no está instalado por defecto en XP/Win2003, pero está disponible en las nuevas versiones de Windows. Paquete de herramientas de administración para Windows Server 2003


Respuesta antigua:

Windows tiene su propia utilidad de descarga de línea de comandos - BITSAdmin :

BITSAdmin es una herramienta de línea de comandos que puede utilizar para crear trabajos de descarga o subir trabajos y supervisar su progreso.

Aquí está mi resumen de cómo se puede descargar un archivo en Windows sin herramientas externas

Y un ejemplo completo de bitsadmin:

bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:\10mb.zip

7 votos

Interesante. Es una pieza de software torpe comparada con wget.

2 votos

Tenga en cuenta que no se suministra con Windows XP, y quizás tampoco con otras versiones.

12 votos

Actualización: BITSAdmin está obsoleto y no se garantiza que esté disponible en futuras versiones de Windows. Las herramientas administrativas para el servicio BITS son ahora proporcionadas por los cmdlets de BITS PowerShell.

34voto

user190042 Puntos 51

Guarde el siguiente texto como wget.js y simplemente llamar a

cscript /nologo wget.js http://example.com

Este es el código:

var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false);
WinHttpReq.Send();
WScript.Echo(WinHttpReq.ResponseText);

/* To save a binary file use this code instead of previous line
BinStream = new ActiveXObject("ADODB.Stream");
BinStream.Type = 1;
BinStream.Open();
BinStream.Write(WinHttpReq.ResponseBody);
BinStream.SaveToFile("out.bin");
*/

0 votos

¿En qué lenguaje está este script? Parece útil para mi tarea actual. Me gustaría encontrar más documentación de referencia. No se parece mucho a vb

1 votos

Útil para archivos individuales. Necesita ser mejorado para la descarga recursiva y https.

4 votos

@G-. Llego tarde a la fiesta, pero eso es JavaScript.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: