Come scaricare file da PowerShell in Windows 10

PowerShell, introdotto come componente predefinito di Windows a partire dalla versione 8, rappresenta un’evoluzione rispetto al tradizionale prompt dei comandi. Non si tratta di una semplice sostituzione, ma di uno strumento più potente e versatile, in grado di svolgere operazioni che il prompt dei comandi non è in grado di eseguire, spesso con maggiore facilità. Un esempio tipico è il download di file. Mentre con il prompt dei comandi è necessario ricorrere a soluzioni alternative come l’installazione di programmi aggiuntivi (ad esempio, wget o Cygwin), PowerShell semplifica notevolmente questa operazione. Consente infatti di scaricare file e salvarli sia nella cartella corrente sia in qualsiasi altra directory specificata dall’utente.

Scaricare file tramite PowerShell

Per effettuare il download di file tramite PowerShell non sono richiesti privilegi amministrativi. È sufficiente conoscere la sintassi corretta del comando. Il comando seguente, in particolare, permette di scaricare un file e di memorizzarlo nella directory attiva. Se si avvia PowerShell come utente standard, la directory predefinita è quella utente. Se non viene modificata, il file scaricato sarà salvato in questa posizione.

Sintassi:

powershell -command "& { iwr url/NomeFile.Estensione -OutFile NomeFile.Estensione }"

Esempio:

powershell -command "& { iwr https://cloud.winadmin.it.com/wp-content/uploads/2018/03/Lines-In-The-Sky.jpg -OutFile immagine.jpg }"

Salvataggio in una specifica cartella

Esistono due metodi per scaricare file con PowerShell e salvarli in una cartella specifica. Il primo consiste nel navigare fino alla cartella desiderata utilizzando il comando “cd”.

Per esempio, all’avvio di PowerShell si accede alla cartella dell’utente corrente. Attraverso il comando “cd” è possibile spostarsi, ad esempio, nella cartella “Download”.

Sintassi:

cd Percorso cartella

Esempio:

cd C:UsersutenteDownloads

Una volta giunti nella cartella di destinazione, è possibile utilizzare il comando illustrato in precedenza per procedere con il download del file.

Il secondo metodo, invece, non richiede di navigare tra le cartelle. In questo caso è possibile includere direttamente nel comando la posizione dove salvare il file. La sintassi è la seguente:

Sintassi:

$client = new-object System.Net.WebClient
 $client.DownloadFile("url/NomeFile.Estensione","PercorsoSalvataggioNomeFile.Estensione")

Esempio:

$client = new-object System.Net.WebClient
 $client.DownloadFile("https://cloud.winadmin.it.com/wp-content/uploads/2018/03/Lines-In-The-Sky.jpg","C:Nuova cartellaimmagine1.jpg")

Considerazioni importanti

PowerShell non effettua controlli sull’esistenza di file con lo stesso nome nella directory di destinazione. Se un file con il nome specificato è già presente, verrà sovrascritto senza alcun preavviso. È quindi importante prestare attenzione per evitare la perdita di dati.

Se PowerShell viene eseguito come utente standard, non sarà possibile salvare file nella directory principale del disco di Windows.

PowerShell non corregge l’estensione dei file. Se si tenta di scaricare un file JPG e lo si salva come PNG, specificando tale estensione nel percorso di salvataggio, PowerShell non interverrà per correggerla. Ciò renderà impossibile l’apertura del file fino a quando l’estensione non verrà corretta manualmente.