PowerShell se stal nedílnou součástí operačního systému Windows od verze Windows 8. Ačkoliv nenahrazuje klasický Příkazový řádek, nabízí funkce, které Příkazový řádek postrádá, a v mnoha případech je jeho použití intuitivnější. Typickým příkladem je stahování souborů. Zatímco v Příkazovém řádku byste museli obvykle instalovat dodatečné nástroje, jako je wget nebo Cygwin, PowerShell umožňuje stahování souborů přímo a efektivně, a to jak do aktuální složky, tak do libovolného jiného umístění dle vašeho výběru.
Jak stahovat soubory pomocí PowerShellu
Pro stahování souborů v PowerShellu není potřeba administrátorských práv. Jediné, co potřebujete, je znalost správného příkazu. Následující příkaz stáhne soubor a uloží ho do aktuálního adresáře. Pokud PowerShell spouštíte jako běžný uživatel, ve výchozím stavu se otevře ve vaší uživatelské složce. Pokud neměníte složku, stažený soubor naleznete v kořenovém adresáři vaší uživatelské složky.
Struktura příkazu:
powershell -command "& { iwr adresa_souboru/Nazev_souboru.Pripona -OutFile Nazev_souboru.Pripona }"
Ukázka:
powershell -command "& { iwr https://cloud.wdzwdz.com/wp-content/uploads/2018/03/Lines-In-The-Sky.jpg -OutFile obrazek.jpg }"
Ukládání souborů do konkrétní složky
Existují dvě metody, jak stáhnout soubory pomocí PowerShellu a uložit je do specifického adresáře. První metoda spočívá v přepnutí se do cílové složky pomocí příkazu cd.
Když spustíte PowerShell, otevře se ve vaší uživatelské složce. Například, pokud chcete soubory ukládat do složky Stažené soubory, použijte příkaz cd pro navigaci do této složky.
Struktura příkazu pro navigaci:
cd Cesta_ke_složce
Ukázkový příkaz:
cd C:\Users\uzivatel\Downloads
Po přesunutí do cílové složky můžete použít předchozí příkaz pro stahování souborů.
Alternativní metoda umožňuje stahování bez nutnosti změny složky. Stačí zahrnout kompletní cestu k uložení souboru přímo do příkazu.
Struktura alternativního příkazu:
$client = new-object System.Net.WebClient $client.DownloadFile("adresa_souboru/Nazev_souboru.Pripona","Cesta_k_ulozeni\Nazev_souboru.Pripona")
Ukázka použití:
$client = new-object System.Net.WebClient $client.DownloadFile("https://cloud.wdzwdz.com/wp-content/uploads/2018/03/Lines-In-The-Sky.jpg","C:\Nova_složka\obrazek1.jpg")
Důležité upozornění
PowerShell neprovádí kontrolu, zda zadaný název souboru již existuje. Bez varování soubor přepíše, takže pokud již máte soubor s názvem například obrazek.jpg, ujistěte se, že nestahujete a neukládáte jiný soubor se stejným názvem, aby nedošlo k nechtěné ztrátě dat.
Pokud používáte PowerShell jako běžný uživatel, nemáte oprávnění ukládat soubory přímo do kořenového adresáře disku Windows.
PowerShell také neopravuje přípony souborů. Pokud stahujete například soubor JPG a při zadávání umístění uložení jej uložíte s příponou PNG, PowerShell vás na to neupozorní. Následkem toho nebude možné soubor otevřít, protože přípona bude nesprávná. Před otevřením souboru je nutné příponu opravit.