⏳ Tempo di lettura: circa 9 minuti
IL METODO CHE NON CONOSCEVI PER PULIRE IL PC


Ogni volta che lavoriamo al pc, qualunque cosa facciamo, si formano file temporanei. Per gestire operazioni complesse in modo fluido e sicuro, il sistema operativo e i programmi applicativi hanno infatti bisogno di spazi di lavoro provvisori, che alla fine dell’operazione vengono eliminati dal programma stesso (o da noi, con specifiche funzioni del sistema operativo o con appositi software).
Alcuni tipi di file temporanei hanno un ruolo importantissimo: permettono di salvare automaticamente il lavoro in corso d’opera, con il cosiddetto salvataggio intermedio. Evitano, in questo modo, la perdita di dati in caso di errori, interruzioni, crash del sistema o altri imprevisti, permettendo di recuperare i file. Alcune volte, però, possono restare ‘bloccati’ nel computer. E non ce ne accorgiamo facilmente, poiché si tratta di file nascosti. Se nel pc non sono visibili i file nascosti e di sistema, ci capita di scoprirli casualmente: compaiono tra i risultati di ricerca dei file ed è possibile copiarne il percorso, ma non vederli nelle cartelle. Come eliminarli definitivamente?
Contenuti
I metodi sono testati su Microsoft Windows 10
Le funzioni dei file temporanei
I file temporanei svolgono funzioni fondamentali per la sicurezza dei nostri dati. La principale è il salvataggio intermedio (file .tmp, .asd, .bak o con il prefisso ~$*), che si occupa in maniera automatica di salvare i file a intervalli regolari, proteggendo i dati da perdite dovute a crash di sistema o chiusura improvvisa delle app.
Altre funzioni dei file temporanei riguardano il blocco concorrente (file ~$*, .lock, .swp), che impedisce di aprire in contemporanea un documento in modalità di modifica: la seconda apertura può avvenire in modalità “Sola lettura”; le prestazioni (file .tmp, .dat, .psb, .cache), per velocizzare accesso e rendering; l’installazione e gli aggiornamenti (file .tmp, .cab, .log); la sincronizzazione e il backup (file .gdoc, .gsheet, .tmp); le sessioni e i progressi dell’utente (file .dat, .tmp, .ldb); la compilazione e il debug (file .obj, .pdb, .tmp).
I software che usano il salvataggio intermedio
Il salvataggio intermedio automatico è una caratteristica comune a molti software, soprattutto quando gestiscono contenuti complessi o modificabili. Programmi che usano salvataggi intermedi sono, ad esempio:
- gli editor di testo e di documenti: Word, Excel, PowerPoint (file
~$,.asd,.wbk,.tmp), LibreOffice e OpenOffice (file.~lock), Google Docs (salva in tempo reale su cloud, con versioni intermedie invisibili all’utente), WordPress (salva revisioni che è possibile ripristinare); - i software di grafica e video: Adobe Photoshop, Illustrator, Premiere: (file
.tmp, cache e backup automatici), Affinity Designer, Photo (salvataggi di recupero in caso di crash), DaVinci Resolve, Final Cut Pro (cache e database temporanei per gestire timeline e rendering); - gli ambienti di sviluppo: Visual Studio, VS Code, IntelliJ (file temporanei per compilazione, linting e debugging, Eclipse, NetBeans (workspace e cache di progetto), Unity, Unreal Engine (scene e asset in versioni intermedie durante l’editing);
- i browser e le app web: Chrome, Firefox, Edge (cache, sessioni e file temporanei per velocizzare la navigazione);
- le web app complesse (dati salvati in IndexedDB, localStorage o file .tmp).
Cosa sono i file temporanei di blocco di Microsoft Office?
Tra i software che utilizzano il salvataggio intermedio, ci sono le applicazioni di Microsoft Office. Per svolgere questa funzione, si servono di file temporanei di blocco: file dall’estensione .tmp o dal prefisso ~$, creati dalle app Office:
- App Microsoft Office →
nomefile.tmp - Microsoft Excel →
~$nomefile.xlsx - Microsoft Outlook →
~$nomefile.msg, - Microsoft PowerPoint →
~$nomefile.pptx - Microsoft Publisher →
~$nomefile.pub - Microsoft Visio →
~$nomefile.vsdx - Microsoft Word →
~$nomefile.docx
Versione ridotta dei file originali (pesano, spesso, solo pochi kilobyte), i file ~$ vengono generati quando apriamo un documento Office e contengono informazioni sull’apertura del file e sul suo stato di modifica. La loro è una funzione di sicurezza: bloccano l’accesso in modalità modifica a due sessioni dello stesso file, impedendone le modifiche in contemporanea (un file può essere aperto in modalità “Sola lettura”); gestiscono il salvataggio automatico; supportano il recupero dati in caso di errori o crash del sistema, permettendo anche di usare con successo i comandi “annulla”, “ripristina”, “versioni precedenti”. È proprio quando c’è un arresto improvviso, o un malfunzionamento, del sistema che i file temporanei di blocco possono rimanere, a loro volta, bloccati.
Perché i file temporanei di blocco restano nel computer?
Ci sono diverse ragioni per cui un file temporaneo di blocco di Microsoft Office, che a fine sessione dovrebbe scomparire, resta nel pc. La più comune è che il programma si sia chiuso in modo anomalo. Ma i file ~$ restano nel sistema anche se il file è stato aperto da un’app esterna (ad es. per un’anteprima o per un backup), o se il file si trova su una rete condivisa e la connessione si interrompe. Come liberarsene?
Per prima cosa, visualizziamo i file nascosti di sistema
Per sapere se nel pc sono rimasti bloccati dei file temporanei di Microsoft Office, dovremo assicurarci che le opzioni di visualizzazione dei file nascosti e di sistema siano attivate. Quando si compra un pc, infatti, per proteggere il sistema da errori involontari degli utenti meno esperti, alcune impostazioni sono disattivate di default. Apriamo dunque una cartella qualsiasi e clicchiamo sul menu Visualizza. Il percorso su Windows è:
Visualizza/ Opzioni/ Modifica opzioni cartelle e ricerca/ Visualizzazione/ seleziona Visualizza cartelle, file e unità nascosti + deseleziona Nascondi i file protetti di sistema (consigliato)
Ora i file nascosti e di sistema, inclusi quelli protetti, sono visibili. Manterremo questa impostazione solo per il tempo necessario a svolgere la ricerca e la pulizia dei file bloccati; al termine, ripristineremo le impostazioni di sicurezza.
Poi, usiamo gli script per PowerShell
A questo punto, possiamo usare gli script che ci interessano. Copiamo uno script e, prima di eseguirlo, modifichiamo il percorso “C:\Users\nomeutente\Documents” in base alle nostre esigenze. Poi apriamo Windows PowerShell (Win + X o scriviamo powershell nella barra di ricerca), incolliamolo in PowerShell e diamo invio. Lo script verrà eseguito; se non sono presenti file nascosti bloccati, non accadrà nulla, altrimenti partirà la procedura di cancellazione, che per lo script #1 e #2 chiederà la nostra conferma per ogni file. Ci serve una maggiore personalizzazione? Proviamo a chiedere aiuto all’intelligenza artificiale: gli LLM sono maestri nel coding.
Script #1 | Cancellare file di blocco nascosti di MS Word
[SCRIPT per WINDOWS POWERSHELL, creato con Copilot] Cosa fa lo script Individua i file di blocco nascosti di Word (~$*.docx) residui nel pc e chiede, per ognuno, di spostarli nel cestino.
$targetFolder = "C:\Users\nomeutente\Documents" # ← Cambia questo percorso se necessario
Get-ChildItem -Path $targetFolder -Recurse -Force -Filter "~$*.docx" |
Where-Object { $_.Attributes -match "Hidden" } |
ForEach-Object {
$shell = New-Object -ComObject Shell.Application
$folder = $shell.Namespace((Split-Path $_.FullName))
$file = $folder.ParseName($_.Name)
$file.InvokeVerb("delete") # Sposta nel CestinoScript #2 | Cancellare file di blocco nascosti di MS Office
[SCRIPT per WINDOWS POWERSHELL, creato con Copilot] Cosa fa lo script Individua i file di blocco nascosti di Office (~$*) residui nel pc e chiede, per ognuno, di spostarli nel cestino.
Add-Type -AssemblyName System.Windows.Forms
$targetFolder = "C:\Users\nomeutente\Documents" # ← Corretto il percorso
# Trova tutti i file che iniziano con ~$ (qualsiasi estensione)
Get-ChildItem -Path $targetFolder -Recurse -Force |
Where-Object { $_.Name -like "~$*" -and -not $_.PSIsContainer } |
ForEach-Object {
$filePath = $_.FullName
$fileName = $_.Name
$confirmation = [System.Windows.Forms.MessageBox]::Show(
"Vuoi spostare nel Cestino il file:`n$fileName`nPercorso:`n$filePath",
"Conferma eliminazione",
[System.Windows.Forms.MessageBoxButtons]::OKCancel,
[System.Windows.Forms.MessageBoxIcon]::Question
)
if ($confirmation -eq [System.Windows.Forms.DialogResult]::OK) {
try {
$shell = New-Object -ComObject Shell.Application
$folder = $shell.Namespace((Split-Path $filePath))
$file = $folder.ParseName($fileName)
$file.InvokeVerb("delete") # Sposta nel Cestino
Write-Host "✅ Spostato nel Cestino: $fileName" -ForegroundColor Green
} catch {
Write-Host "❌ Errore: $_" -ForegroundColor Red
}
} else {
Write-Host "⏭️ Ignorato: $fileName" -ForegroundColor Yellow
}
}Script #3 | Cancellare file temporanei di Office inutilizzati
[SCRIPT per WINDOWS POWERSHELL, creato con ChatGPT] Cosa fa lo script I Individua i file temporanei di MS Office inutilizzati e residui nel pc e li elimina direttamente.
# Definisci la cartella da esaminare (puoi modificarla per includere altre cartelle se necessario)
$targetFolder = "C:\Users\nomeutente\Documents" # Modifica il percorso in base alle tue esigenze
# Funzione per cancellare i file temporanei di Office (inclusi ~$, .bak, .tmp)
function Remove-OfficeTempFiles {
param (
[string]$folder
)
# Cerca i file temporanei nascosti di Office: ~$, .bak, .tmp
$tempFiles = Get-ChildItem -Path $folder -Recurse -Force | Where-Object {
($_.Name -like "~$*" -or $_.Extension -eq ".bak" -or $_.Extension -eq ".tmp") -and
$_.Attributes -match "Hidden"
}
# Se ci sono file, cancella ognuno di essi
foreach ($file in $tempFiles) {
try {
Write-Host "Cancellazione file temporaneo: $($file.FullName)"
Remove-Item -Path $file.FullName -Force
} catch {
Write-Host "Errore durante la cancellazione di: $($file.FullName)"
}
}
}
# Esegui la funzione sulla cartella specificata
Remove-OfficeTempFiles -folder $targetFolder
# Se vuoi cercare anche in altre cartelle (ad esempio, in tutto il disco C), puoi espandere così:
# $foldersToCheck = @("C:\Users\nomeutente\Documents", "C:\Users\nomeutente\AppData", "C:\Windows\Temp")
# foreach ($folder in $foldersToCheck) {
# Remove-OfficeTempFiles -folder $folder
# }