Jak za pomocą Powershell ściągnąć plik z Internetu?


 

Oto bardzo prosty skrypt, który pozwoli Wam za pomocą powershell ściągnąć plik z internetu po protokole http.
Myślę, że użyte zmienne i składnia polecenia są na tyle zrozumiałe, że nie trzeba ich szerzej omawiać :).

$adres_url = „http://www.tajemniczastronainternetowa.ru/tajne/raport_grudzien_2015.pdf”
$zapisz_jako = „c:\temp\raport_grudzien_2015.pdf”
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFile($adres_url,$zaplisz_jako)

A tutaj znajdziecie troszkę inne podejście do tego samego tematu, autorstwa Piotra.


Podobne Tematy:

  • Zdzich

    Ja używam w cmd.exe polecenia bitsadmin, np. w harmonogramie do pobierania codziennie aktualnej wersji MSERT i skanowania nią serwera:

    bitsadmin /transfer msert http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/amd64/msert.exe c:backupmsert.exe
    c:backupmsert.exe

    wyniki skanowania odkładają się domyślnie w logu:
    c:windowsdebugmsert.log

    • Zamierzałem wspomnieć o tej metodzie w następnych one-linerach. Gdybyś chciał dołączyć do spece.it możemy od czasu do czasu publikować Twoje wpisy. :)

  • fazz01

    Niestety nie działa :( wywala tylko błąd:

    Exception calling „DownloadFile” with „2” argument(s): „Wystąpił wyjątek podczas żądania klienta WebClient.”
    At C:…Untitled3.ps1:4 char:1
    + $webclient.DownloadFile($adres_url,$zaplisz_jako)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

    • A co konkretnie wpisałeś?

    • Zacznij od upewnienia się, czy cudzysłowy „” poprawnie skopiowały się. Wpisz je ręcznie, bo przy kopiowaniu skryptu z naszej stronki prosto do konsoli może wystąpić błąd.

    • Paweł

      miałem ten sam problem, cudzysłowy oraz zaplisz_plik – zaplisz ;)

      ogólnie super blog, właśnie wczoraj dowiedziałem się co to powershell – fajne to ;)

  • Ale pitolenia.
    „wget” i jazda maleńka, linux prawdziwy system a nie jakiś podrabianiec :)

    • Nie sprzeczam się. Chciałem tylko udowodnić, że w „podrabiańcu” też się da. ;)

      • Powershell jest fajny ;) Ale jednak dla takiego n00ba jak ja, jest za trudny w obsłudze.

  • Bysiol

    A nie prościej po prostu wget z -OutFile?

    • Noo jak już się ściągnie ten program (bo WGET w Windowsie natywnie nie występuje).. to może i prościej. Ale temat wpisu nie brzmi „Jak najłatwiej ściągnąć plik…” :-D

      pozdro!

  • CiasteczkowyPotwór

    Można użyć również tego:

    $url = „http://StronaWWW.pdf”
    $output = „C:Temptest.pdf”
    $start_time = Get-Date

    Invoke-WebRequest -Uri $url -OutFile $output
    Write-Output „Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)”

  • Adrian Szwejkowski

    a jezeli zalezy nam na nieobciazaniu lacza mozna tez wykorzystac start-bitstransfer