Eliminare file dalla cartella OLK (Outlook Secure Temp) in Outlook 2007 su Windows 10: guida completa e sicura

Hai allegati che si aprono sempre in sola lettura o vedi cartelle “Content.Outlook” piene di file? In Windows 10, Outlook 2007 salva copie temporanee degli allegati nella cartella OLK: eliminarle è sicuro, fa spazio e previene conflitti.

Indice

Panoramica: cos’è la cartella OLK di Outlook

Quando apri un allegato direttamente da Outlook (senza salvarlo prima in una posizione a tua scelta), il programma crea una copia temporanea del file in una cartella speciale chiamata OLK (acronimo storico di Outlook Secure Temp Folder). Su Windows 10, con Outlook 2007 (Office 12.0), questo percorso è definito in un valore del Registro di sistema e, nel tempo, può accumulare centinaia di elementi: documenti, fogli di calcolo, PDF, immagini, eventualmente suddivisi in una o più sottocartelle dai nomi casuali.

Questi file non sono gli originali: sono solo copie di lavoro. Eliminandoli non cancelli i messaggi né gli allegati conservati nel tuo file PST/OST o sul server di posta. In più, alla prossima apertura di un allegato, Outlook ricreerà all’istante i file temporanei necessari.

È sicuro cancellare i file nella cartella OLK?

Sì. La rimozione è sicura e consigliata per liberare spazio e scongiurare fastidi come le versioni multiple dello stesso allegato (es. Documento(1).docx, Documento(2).docx) o errori “file in uso” quando si tenta di sovrascrivere un allegato già aperto in precedenza. Non esistono svantaggi funzionali: Outlook ripopolerà la cartella OLK quando ne avrà bisogno.

Vantaggi principali

  • Recupero spazio su disco: le cartelle Content.Outlook possono crescere fino a diversi GB.
  • Meno conflitti: riduci i duplicati e i blocchi dovuti a file temporanei “orfani”.
  • Nessun impatto sui dati: i messaggi e gli allegati originali restano nei tuoi archivi di posta.

Domande di sicurezza frequenti

DomandaRisposta breveDettaglio
La posta o gli allegati spariranno?NoSi eliminano solo copie temporanee; i messaggi restano su PST/OST o server.
Outlook avrà problemi all’avvio?NoSe necessario ricrea automaticamente la struttura temporanea.
Serve chiudere Outlook?Così nessun file risulta in uso e la pulizia è completa.

Individuare la cartella OLK su Outlook 2007

Il percorso preciso è memorizzato nel Registro di sistema. Ecco come trovarlo in modo sicuro:

  1. Chiudi eventuali allegati aperti in Word, Excel, PowerPoint, Adobe Reader, ecc.
  2. Premi Windows+R, digita regedit.exe e premi Invio.
  3. Vai alla chiave: HKEYCURRENTUSER\Software\Microsoft\Office\12.0\Outlook\Security
  4. Nel riquadro di destra, individua il valore OutlookSecureTempFolder: contiene il percorso completo della cartella OLK (ad es. C:\Users<utente>\AppData\Local\Microsoft\Windows\INetCache\Content.Outlook\ABC12345\ oppure, su profili più datati, ...\Temporary Internet Files\Content.Outlook\...).
  5. Seleziona il valore, copia il percorso negli appunti.

Nota: Outlook 2007 è a 32 bit e utilizza comunque la chiave in HKEYCURRENTUSER. Non devi preoccuparti di redirezioni a Wow6432Node per questa voce.

Eliminare i file temporanei in modo manuale

  1. Chiudi Outlook per evitare che alcuni file risultino “in uso”.
  2. Apri Esplora File (Windows+E), incolla nella barra indirizzi il percorso copiato da OutlookSecureTempFolder e premi Invio.
  3. Seleziona tutti gli elementi (Ctrl+A) e premi Canc. Conferma eventuali richieste di autorizzazione amministrativa.
  4. Se Windows segnala che qualche file è in uso, salta quell’elemento e prosegui; in alternativa, riavvia il PC e ripeti l’operazione.

Consigli pratici

  • Se non sei sicuro, puoi spostare i file su un’unità esterna prima di eliminarli. In ogni caso, trattandosi di copie temporanee, non dovrebbero contenere contenuti unici.
  • Per una pulizia accurata, elimina anche eventuali sottocartelle dal nome casuale (es. ABC12345).
  • La funzione “Pulizia disco” di Windows 10 non svuota la cartella OLK: occorre intervenire manualmente o via script.

Automatizzare la pulizia con PowerShell

Se gestisci molti allegati, è comodo programmare una pulizia periodica che rimuova i file temporanei più vecchi (ad esempio, oltre 7 giorni), ignorando quelli ancora in uso.

Script PowerShell pronto all’uso

Copia il seguente script in un file Svuota-OLK.ps1 nella tua cartella Documenti. Lo script:

  • Legge il percorso di OutlookSecureTempFolder dal Registro (Outlook 2007 / Office 12.0).
  • Elimina file e cartelle vuote, saltando eventuali elementi bloccati.
  • Supporta la modalità simulazione (-WhatIf) e un parametro per l’anzianità in giorni (-OlderThanDays).
param(
    [int]$OlderThanDays = 7,
    [switch]$WhatIf
)

$ErrorActionPreference = 'Stop'

try {
    $regPath = 'HKCU:\Software\Microsoft\Office\12.0\Outlook\Security'
    $prop = Get-ItemProperty -Path $regPath -Name 'OutlookSecureTempFolder' -ErrorAction Stop
    $olkPath = $prop.OutlookSecureTempFolder.Trim('"')

    if (-not (Test-Path -LiteralPath $olkPath)) {
        throw "Percorso OLK non trovato: $olkPath"
    }

    Write-Host "Cartella OLK: $olkPath"
    $cutoff = (Get-Date).AddDays(-1 * [math]::Abs($OlderThanDays))
    Write-Host "Elimino file più vecchi di $OlderThanDays giorni (cutoff: $cutoff)."

    # File
    Get-ChildItem -LiteralPath $olkPath -File -Recurse -Force -ErrorAction SilentlyContinue |
        Where-Object { $_.LastWriteTime -lt $cutoff } |
        ForEach-Object {
            try {
                if ($WhatIf) {
                    Write-Host "[WhatIf] Rimuoverei: $($_.FullName)"
                } else {
                    Remove-Item -LiteralPath $_.FullName -Force -ErrorAction Stop
                    Write-Host "Rimosso: $($_.FullName)"
                }
            } catch {
                Write-Warning "Impossibile rimuovere $($.FullName): $($.Exception.Message)"
            }
        }

    # Cartelle vuote (dal fondo verso l'alto)
    Get-ChildItem -LiteralPath $olkPath -Directory -Recurse -Force |
        Sort-Object FullName -Descending |
        ForEach-Object {
            try {
                $hasChildren = Get-ChildItem -LiteralPath $_.FullName -Force | Measure-Object
                if ($hasChildren.Count -eq 0) {
                    if ($WhatIf) {
                        Write-Host "[WhatIf] Rimuoverei cartella vuota: $($_.FullName)"
                    } else {
                        Remove-Item -LiteralPath $_.FullName -Force -ErrorAction Stop
                        Write-Host "Rimossa cartella vuota: $($_.FullName)"
                    }
                }
            } catch {
                Write-Warning "Impossibile rimuovere cartella $($.FullName): $($.Exception.Message)"
            }
        }

    Write-Host "Pulizia OLK completata."
} catch {
    Write-Error $_.Exception.Message
    exit 1
}

Esecuzione manuale:

  1. Apri PowerShell come utente (non serve amministratore per HKCU).
  2. Esegui prima una simulazione: .\Svuota-OLK.ps1 -OlderThanDays 7 -WhatIf
  3. Se l’anteprima è corretta, esegui senza -WhatIf: .\Svuota-OLK.ps1 -OlderThanDays 7

Pianificare l’esecuzione automatica

  1. Apri Utilità di pianificazione (Task Scheduler).
  2. Crea una nuova attività di base, ad es. “Pulizia OLK Outlook 2007”.
  3. Imposta una frequenza (es. mensile o settimanale).
  4. Come azione, seleziona “Avvia un programma” e usa:
    • Programma/script: powershell.exe
    • Argomenti: -ExecutionPolicy Bypass -File "C:\Percorso\A\Script\Svuota-OLK.ps1" -OlderThanDays 7
  5. Abilita “Esegui indipendentemente dalla connessione” e salva.

Alternative rapide senza script

Aprire direttamente la cartella OLK

Puoi creare un file .bat per aprire all’istante la cartella OLK letta dal Registro:

@echo off
for /f "tokens=2,*" %%A in ('reg query "HKCU\Software\Microsoft\Office\12.0\Outlook\Security" /v OutlookSecureTempFolder ^| find "REG_"') do set "OLK=%%B"
start "" "%OLK%"

Salva come Apri-OLK.bat e avvialo quando vuoi pulire manualmente.

Cancellazione minima via riga di comando

Se preferisci utilizzare il Prompt dei comandi in modo diretto (dopo aver chiuso Outlook):

for /f "tokens=2,*" %A in ('reg query "HKCU\Software\Microsoft\Office\12.0\Outlook\Security" /v OutlookSecureTempFolder ^| find "REG_"') do set "OLK=%B"
del /f /q "%OLK%\" &amp; for /d %D in ("%OLK%\") do rd /s /q "%D"

Questo elimina file e sottocartelle senza chiedere conferme per ogni elemento.

Cosa fare se alcuni file non si lasciano eliminare

  • Verifica che Outlook sia chiuso, così come Word/Excel/PowerPoint/Reader che potrebbero avere file aperti.
  • Riavvia Windows e ripeti la pulizia: i lock temporanei si azzerano.
  • Controlla i permessi: il profilo utente deve avere pieno controllo sulla cartella OLK. In Esplora File → Proprietà → Sicurezza, verifica che l’utente corrente sia elencato.
  • Usa lo script mostrato sopra: salta automaticamente i file in uso e ripulisce il resto.

Varianti per versioni successive di Outlook

La logica della cartella OLK è la stessa anche per Outlook più recenti. Cambia solo la versione nella chiave di Registro:

Versione di OutlookChiave principaleEsempio valore
Outlook 2007HKEYCURRENTUSER\Software\Microsoft\Office\12.0\Outlook\SecurityOutlookSecureTempFolder
Outlook 2010...\Office\14.0\Outlook\SecurityOutlookSecureTempFolder
Outlook 2013...\Office\15.0\Outlook\SecurityOutlookSecureTempFolder
Outlook 2016/2019/365...\Office\16.0\Outlook\SecurityOutlookSecureTempFolder

Se in futuro passerai a una versione più recente, basterà aggiornare lo script sostituendo 12.0 con la versione corretta.

Dove si trova di solito la cartella OLK su Windows 10

Il percorso esatto lo decide il Registro (ed è l’unico riferimento affidabile), ma in pratica potresti trovare la cartella in uno di questi punti, a seconda della storia del profilo utente e delle impostazioni di cache di Internet:

  • C:\Users<utente>\AppData\Local\Microsoft\Windows\INetCache\Content.Outlook<cartella-casuale>\
  • C:\Users<utente>\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook<cartella-casuale>\

Ancora una volta: usa OutlookSecureTempFolder per evitare qualsiasi ambiguità.

Perché conviene pulire periodicamente

Se apri spesso allegati “al volo”, la cartella OLK diventa un magazzino superfluo che sottrae spazio e può generare problemi:

  • Spazio: PDF pesanti e presentazioni si accumulano di mese in mese.
  • Conflitti di versione: aprendo lo stesso file più volte, Outlook crea duplicati numerati che confondono.
  • Affidabilità: file temporanei lasciati in giro possono restare bloccati da processi in background.

Una routine mensile o trimestrale è più che sufficiente per la maggior parte degli utenti; negli ambienti con uso intensivo di allegati, valuta una pulizia settimanale.

Best practice per non perdere modifiche agli allegati

Ricorda che modificare un allegato aperto direttamente da Outlook implica lavorare sulla copia nella cartella OLK. Per non perdere lavoro e non dipendere da file temporanei:

  1. Preferisci sempre Salva con nome in una cartella di progetto (Documenti, OneDrive, SharePoint, ecc.) prima di modificare.
  2. Se hai già aperto “al volo”, usa File → Salva con nome verso la tua cartella definitiva, quindi prosegui da lì.
  3. Evita di rinominare più volte lo stesso allegato direttamente dentro OLK: genera duplicati e confusione.

Risoluzione dei problemi comuni

Il valore OutlookSecureTempFolder non c’è

A volte la chiave è mancante (profilo appena creato o pulizie precedenti). Apri un allegato qualsiasi da Outlook: la chiave viene rigenerata e il valore ricompare. Poi ripeti la procedura.

“Accesso negato” durante l’eliminazione

  • Assicurati di operare con lo stesso utente del profilo dove risiede la cartella OLK.
  • Controlla autorizzazioni della cartella (Proprietà → Sicurezza) e, se necessario, aggiungi l’utente con “Controllo completo”.
  • Se l’errore persiste, elimina dopo un riavvio a freddo: spesso è un lock transitorio.

Outlook continua a creare duplicati numerati

È normale: per non sovrascrivere copie temporanee preesistenti (che magari hai ancora aperte), Outlook aggiunge un suffisso. La pulizia OLK azzera la situazione e riduce i duplicati futuri.

Domande frequenti

Posso eliminare anche le cartelle “Content.Outlook” stesse?
Sì, purché non contengano file in uso. Verranno ricreate automaticamente al prossimo allegato aperto.

Posso usare strumenti di terze parti per pulire?
Esistono utility di manutenzione che includono questa funzione, ma il metodo manuale o via script è più trasparente e riduce il rischio di cancellazioni indesiderate.

Serve l’amministratore?
No, perché la cartella appartiene al profilo utente (HKCU). Potrebbe comparire un prompt UAC solo in caso di percorsi con autorizzazioni particolari.

La Pulizia disco di Windows 10 risolve il problema?
No: non tocca la cartella OLK. Utilizza invece le procedure illustrate qui.

Checklist rapida

  • Chiudi Outlook e le app collegate.
  • Apri regedit e copia OutlookSecureTempFolder da HKCU\Software\Microsoft\Office\12.0\Outlook\Security.
  • Apri la cartella OLK in Esplora File.
  • Elimina file e sottocartelle; se qualcosa è in uso, riavvia e ripeti.
  • Per mantenimento: imposta lo script PowerShell o pianifica una verifica mensile.

Conclusioni

La cartella OLK di Outlook 2007 su Windows 10 è un’area di lavoro temporanea. Svuotarla periodicamente è sicuro, benefico e non impatta sulla posta archiviata. Seguendo i passaggi descritti—individuazione del percorso via Registro, chiusura delle app, rimozione manuale o automatica—mantieni il sistema snello, eviti conflitti e recuperi spazio prezioso senza rischiare i tuoi dati.


Appendice: script PowerShell in versione monoscatto

Se vuoi un comando “tutto in uno” da incollare in PowerShell per una pulizia immediata (senza creare file), usa questo one‑liner che elimina elementi più vecchi di 7 giorni:

$p=(Get-ItemProperty 'HKCU:\Software\Microsoft\Office\12.0\Outlook\Security' -Name OutlookSecureTempFolder).OutlookSecureTempFolder; $c=(Get-Date).AddDays(-7); if(Test-Path $p){Get-ChildItem $p -Recurse -Force -File | ? {$.LastWriteTime -lt $c} | % {try{Remove-Item $.FullName -Force -ErrorAction Stop}catch{Write-Warning $.Exception.Message}}; Get-ChildItem $p -Directory -Recurse -Force | Sort-Object FullName -Descending | % {if(-not(Get-ChildItem $.FullName -Force)){Remove-Item $_.FullName -Force}}; 'Pulizia OLK completata'} else {'Percorso OLK non trovato'}

Avvertenza: esegui il one‑liner solo dopo aver chiuso Outlook e le applicazioni che potrebbero utilizzare allegati aperti.


Conserva questa guida: ti farà risparmiare tempo e spazio ogni volta che il tuo profilo di Outlook accumula copie inutili di allegati.

Indice