Cómo descargar un archivo de Internet desde PowerShell en Windows 10

Escrito por Roberto Adeva
Windows 10
2

Windows PowerShell es una poderosa herramienta con la que cuenta Windows 10 y aunque a muchos les recuerde o lo asemejen al símbolo del sistema, lo cierto es que Powershell es mucho más potente e incluso podría convertirse en su sustituto. Se trata de una herramienta que Microsoft ha desarrollado para la automatización de tareas y la gestión de la configuración basándose en el Framework .NET y que se basa en una interfaz de línea de comandos, al igual que el símbolo del sistema.

Aunque Windows PowerShell cuenta con un montón de potentes comandos con los que hacer muchas cosas en Windows 10, vamos a mostrar a continuación la manera de aprovecharnos de esta herramienta para descargar un archivo de Internet.

PowerShell

Descarga cualquier archivo con este simple comando de PowerShell

Para ello, lo primero que tenemos que hacer es abrir una consola de PowerShell., escribiendo Windows PowerShell en la caja de búsqueda de la barra de tareas de Windows 10 y ejecutándolo con permisos de administrador. Para ello, una vez que nos encuentre la aplicación, pulsamos sobre ella con el botón derecho del ratón y seleccionamos la opción Ejecutar como administrador.

Una vez llegados a este punto, debemos copiar el enlace del archivo que queremos descargar utilizando PowerShell y ejecutar el comando correspondiente desde la consola. La sintaxis del comando será:

$client = new-object System.Net.WebClient
$client.DownloadFile(“Enlace de descarga”,“Destino del archivo\nombre del fichero.extension”)

Por lo tanto, escribiremos este comando en la línea de comandos de PowerShell sustituyendo Enlace de descarga por la URL copiada anteriormente, el Destino del archivo por la ruta donde lo queremos descargar y el nombre que le queremos dar. Es importante que no quitemos las dobles comillas del enlace de descarga y la ruta de destino.

PowerShell

De esta manera, el comando a ejecutar deberá ser algo del tipo:

$client = new-object System.Net.WebClient
$client.DownloadFile(“http://www.softzone.es/app/uploads/2016/06/Brexit-Portada.jpg”,“C:\Imagenes\PortadaSOFTZone.jpg”)

Pulsamos Enter y automáticamente el archivo seleccionado de un sitio web, será descargado en la ruta establecida y con el nombre elegido. Sólo queda ir hasta ahí para comprobar que todo ha ido correctamente. En el caso que la descarga de algún archivo requiera el uso de credenciales para acceder a algún servidor, podemos utilizar este comando con la siguiente sintaxis:

$client = new-object System.Net.WebClient
$client.Credentials = Get-Credential
$client.DownloadFile(“http://www.softzone.es/app/uploads/2016/06/Brexit-Portada.jpg”,“C:\Imagenes\PortadaSOFTZone.jpg”)

Quizás te interese…

Cada vez se crea más malware gracias a Microsoft PowerShell

Para qué sirven las “características de Windows 10” y cómo activarlas y desactivarlas

Cómo recuperar fácilmente la clave de producto de Windows

Fuente > The Windows Club

Compártelo. ¡Gracias!
Continúa leyendo

Comentarios

2 comentarios
  1. Anónimo 04 Jul, 16 0:07

    La mona aunque de seda se vista; mona se queda.. Y con las mismas Mañas!
    Pero parece que Microsoft desde hace ya un buen tiempo atrás se está “aLINUXeando”, basta con ver como implementaron una consola Linux de forma nativa en W10, recordar también que Cerca de un tercio de máquinas virtuales Azure(Microsoft) ejecutan Linux, sumado además la compra de acciones o financiación en empresas relacionadas y afines con Linux, (Microsoft nunca te da nada gratis), siempre hay algo a cambio como tus datos y privacidad, Aquí algo huele feo y a futuro podrido!

    0
  2. Anónimo 19 Ago, 16 14:18

    Hola,

    Ante todo muchas gracias por la entrada, me ha sido de gran ayuda.

    Tengo un listado de fiheros a descargar todos los lunes y, hasta ahora, usábamos JDownloader desde un servidor. Como no es confiable y las nuevas políticas de la empresa no nos permiten usarlo, me he visto en la necesidad de crear un script en powershell, así que la entrada me ha venido genial… pero ahora tengo una duda con la que tal vez puedas ayudarme.

    Consigo montar la estructura en un fichero enlaces.ps1, ya que el nombre de los ficheros varía cada semana (en función de la fecha:
    $client = new-object System.Net.WebClient
    $client.DownloadFile(‘http://www.loquesea.com/fichero1aaaMMyyy.rar’,’D:\destino\fichero1aaaMMyyy.rar’)
    $client.DownloadFile(‘http://www.loquesea.com/fichero2aaaMMyyy.rar’,’D:\destino\fichero2aaaMMyyy.rar’)
    $client.DownloadFile(‘http://www.loquesea.com/fichero3aaaMMyyy.rar’,’D:\destino\fichero3aaaMMyyy.rar’)

    Las descargas funcionan, pero me encuentro con que empiezan cuando acaba la anterior, por lo que el tiempo que emplea se alarga muchísimo (son ficheros grandes).

    ¿Hay alguna posibilidad de que PowerShell me ejecute varias descargas a la vez?

    Gracias de antemano por la respuesta

    0