Per quanto il vostro disco fisso sia molto grande, e voi degli scaricatori abituali di tutti i video di Youtube, a un certo punto lo spazio potrebbe esaurirsi senza cause apparenti. Lo stesso sistema operativo crea dei file temporanei durante le installazioni, file di log o di errore in caso di crash, residui della navigazione, tutti file, più o meno grandi, che riempiono il nostro disco fisso inutilmente. Ci sono degli ottimi programmi come Wiztree che mostrano i file che occupano più spazio, ma in questo articolo vedremo come trovarli tramite PowerShell.
Avviate PowerSheIl come amministratore e il comando da utilizzare per visualizzare i 10 file più grandi è: Get-ChildItem c:\ -r| sort -descending -property length | select -first 10 name, Length
Si può naturalmente personalizzare il disco fisso dove cercare i file e il loro numero, per esempio: Get-ChildItem d:\ -r| sort -descending -property length | select -first 22 name, Length
Il comando presenta però delle limitazioni e degli errori rossi perché non riesce ad accedere ad alcune cartelle del disco fisso, inoltre non visualizza il percorso dove si trovano i file.
Per migliorare la ricerca, ed avere il percorso completo dove si trovano i file, possiamo usare il comando: Get-ChildItem c:\ -r -ErrorAction SilentlyContinue |sort -descending -property length | select -first 10 name, DirectoryName, @{Name="MB";Expression={[Math]::round($_.length / 1MB, 2)}} | Out-GridView
Il risultato finale sarà qualcosa di simile a questo:
Anche qui possiamo personalizzare la ricerca dei file in un diverso disco fisso: Get-ChildItem d:\ -r -ErrorAction SilentlyContinue |sort -descending -property length | select -first 15 name, DirectoryName, @{Name="MB";Expression={[Math]::round($_.length / 1MB, 2)}} | Out-GridView
Il risultato sarà simile al precedente solo con più file visualizzati nel disco D.
Per ampliare ulteriormente la ricerca possiamo aggiungere i file nascosti con l’opzione -Force: Get-ChildItem c:\ -r -Force -ErrorAction SilentlyContinue |sort -descending -property length | select -first 20 name, DirectoryName, @{Name="MB";Expression={[Math]::round($_.length / 1MB, 2)}} | Out-GridView