Saltar al contenido

¿Alternativa nativa a wget en Windows PowerShell?

Solución:

Aquí hay una simple línea de PS 3.0 y posterior que funciona y no involucra mucho PS barf:

wget http://blog.stackexchange.com/ -OutFile out.html

Tenga en cuenta que:

  • wget es un alias para Invoke-WebRequest
  • Invoke-WebRequest devuelve un objeto HtmlWebResponseObject, que contiene muchas propiedades útiles de análisis de HTML como enlaces, imágenes, formularios, campos de entrada, etc., pero en este caso solo estamos usando el contenido sin procesar.
  • El contenido del archivo se almacena en la memoria antes de escribirlo en el disco, lo que hace que este enfoque no sea adecuado para descargar archivos grandes.
  • En las instalaciones de Windows Server Core, deberá escribir esto como

    wget http://blog.stackexchange.com/ -UseBasicParsing -OutFile out.html
    
  • Antes del 20 de septiembre de 2014, sugerí

    (wget http://blog.stackexchange.com/).Content >out.html
    

    como respuesta. Sin embargo, esto no funciona en todos los casos, ya que > operador (que es un alias para Out-File) convierte la entrada a Unicode.

Si está utilizando Windows 7, deberá instalar la versión 4 o más reciente de Windows Management Framework.

Puede encontrar que haciendo un $ProgressPreference = "silentlyContinue" antes de Invoke-WebRequest mejorará significativamente la velocidad de descarga con archivos grandes; esta variable controla si se representa la IU de progreso.

Si solo necesita recuperar un archivo, puede usar el método DownloadFile del objeto WebClient:

$client = New-Object System.Net.WebClient
$client.DownloadFile($url, $path)

Dónde $url es una cadena que representa la URL del archivo y $path representa la ruta local en la que se guardará el archivo.

Tenga en cuenta que $path debe incluir el nombre del archivo; no puede ser simplemente un directorio.

Hay Invoke-WebRequest en la próxima versión 3 de PowerShell:

Invoke-WebRequest http://www.google.com/ -OutFile c:google.html
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *