Generato con IA
Pulizia del disco intelligente, automatizzata e senza stress
Prefazione
Il disco pieno non è mai colpa del sistema. Prima o poi succede a tutti.
Il PC rallenta, Windows si lamenta, gli aggiornamenti falliscono e compare la fatidica scritta: Spazio su disco insufficiente. E quasi mai la colpa è davvero di Windows.
Il problema sono anni di file accumulati:
- file temporanei dimenticati
- ISO scaricate “solo per prova”
- backup duplicati
- cartelle Download mai pulite
- video e contenuti “imbarazzanti” 😅 che non dovrebbero stare lì
La buona notizia? PowerShell e Python possono fare il lavoro sporco per noi, in modo: - sicuro
- ripetibile
- automatizzabile
1️⃣ Eliminare i file temporanei con PowerShell
Perché è importante
I file temporanei: - non servono più
- occupano decine di GB
- rallentano scansioni antivirus e backup
Percorsi tipici - C:\Windows\Temp
- %TEMP%
- cache utente
- file temporanei di applicazioni
Script PowerShell – Pulizia file temporanei
$paths = @( “$env:TEMP”, “C:\Windows\Temp” ) foreach ($path in $paths) { Write-Host “Pulizia di $path” Get-ChildItem -Path $path -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue }
Cosa fa - cancella solo ciò che non è più in uso
- ignora file bloccati
- non danneggia il sistema
💡 Consiglio da sysadmin
Eseguilo: - dopo aggiornamenti
- dopo installazioni pesanti
- prima di fare backup
2️⃣ Trovare ed eliminare file di grandi dimensioni (ISO, ZIP, VHD, ecc.)
Il vero nemico: file enormi dimenticati
ISO di Windows, Linux, macchine virtuali, backup manuali…
Spesso non servono più ma pesano 5–20 GB ciascuno.
Script PowerShell – Elenco file > 1 GB
Get-ChildItem C:\ -Recurse -File -ErrorAction SilentlyContinue | Where-Object { $.Length -gt 1GB } | Sort-Object Length -Descending | Select-Object FullName, @{Name=”SizeGB”;Expression={[math]::Round($.Length/1GB,2)}}
Cosa ottieni - lista ordinata dei file più pesanti
- piena visibilità su cosa occupa spazio
Eliminare ISO in modo mirato
Get-ChildItem C:\ -Recurse -Include *.iso -File -ErrorAction SilentlyContinue | Remove-Item -Force
ATTENZIONE
Verifica sempre prima con -WhatIf:
Remove-Item -Force -WhatIf
3️⃣ Eliminare file duplicati con PowerShell
Perché i duplicati sono ovunque - copie di backup
- download ripetuti
- file spostati “per sicurezza”
Strategia corretta
Non guardare solo il nome → usa l’hash
Script PowerShell – Trova duplicati
Get-ChildItem C:\Users\Luca\Documents -Recurse -File | Get-FileHash | Group-Object Hash | Where-Object { $.Count -gt 1 } | ForEach-Object { $.Group | Select-Object Path, Hash }
Cosa fa - confronta il contenuto reale dei file
- individua duplicati perfetti
Puoi poi decidere quali cancellare manualmente (scelta consigliata).
4️⃣ Cancellare “file imbarazzanti” (video, immagini, cartelle specifiche)
Siamo onesti
A volte il problema non è solo lo spazio… ma quello che c’è sul disco.
Eliminare per estensione (MP4, MKV, AVI)
Get-ChildItem C:\Users\Luca -Recurse -Include .mp4,.mkv,*.avi -File | Remove-Item -Force
Eliminare cartelle specifiche
Remove-Item “C:\Users\Luca\Downloads\VecchiVideo” -Recurse -Force
Consiglio
Se il contenuto è sensibile: - usa cipher /w:C: dopo la cancellazione
- oppure strumenti di secure wipe
5️⃣ Pulizia avanzata con Python (più controllo, più log)
Python è perfetto se vuoi: - log dettagliati
- report
- script riutilizzabili
Script Python – Pulizia file temporanei
import os import shutil import tempfile temp_dir = tempfile.gettempdir() for root, dirs, files in os.walk(temp_dir): for file in files: try: os.remove(os.path.join(root, file)) except Exception: pass
6️⃣ Python – Eliminare file grandi (es. >1GB)
import os path = “C:/” limit = 1 * 1024 * 1024 * 1024 # 1 GB for root, dirs, files in os.walk(path): for file in files: try: full_path = os.path.join(root, file) if os.path.getsize(full_path) > limit: print(“File grande:”, full_path) except: pass
Puoi trasformarlo facilmente in: - script di cancellazione
- strumento di audit
7️⃣ Python – File duplicati con hash
import os import hashlib hashes = {} def file_hash(path): h = hashlib.md5() with open(path, ‘rb’) as f: while chunk := f.read(8192): h.update(chunk) return h.hexdigest() for root, dirs, files in os.walk(“C:/Users/Luca”): for file in files: try: path = os.path.join(root, file) h = file_hash(path) if h in hashes: print(“Duplicato:”, path) else: hashes[h] = path except: pass
8️⃣ Automazione: il vero salto di qualità
Il vero vantaggio non è fare pulizia una volta, ma non pensarci più.
Best practice - PowerShell → Task Scheduler
- Python → script settimanale
- Log su file
- Esecuzione notturna
Conclusione – Il disco pulito è una forma di sicurezza
Pulire il disco non è solo: - performance
- spazio libero
È anche: - meno dati sensibili in giro
- meno rischio
- backup più veloci
- sistema più affidabile
Con PowerShell e Python: - controlli tutto
- automatizzi
- non deleghi a tool “magici” di terze parti
