Accedi


Clear Browser Cache da Powershell

Tony Billow 41 giorni fa

Girovagando in rete ho trovato questo interessante script he permette di cancellare in un sol colpo le cache di TUTTI i browser installati sul vostro PC.

Premetto che lo script NON è mio, ma tratto da varie fonti .
non mi dilungo in descrizioni, in quanto fa esattamente quello che promette in un solo passaggio.

Per utilizzarlo aprite POWERSHELL come amministratore ed inserite il codice che segue:

************* inizio codice  *************

# IMP: chiudere il Browser prima della pulizia !

$browserProcesses = @('chrome', 'firefox', 'msedge', 'iexplore', 'opera', 'yandex')

# Chiude i browser se attivi
foreach ($browser in $browserProcesses) {
Get-Process -Name $browser -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue
Write-Host "Chiuso il processo del browser: ${browser}"
}

# ----- MODIFICA IL NOME UTENTE QUI -----
$specificUser = "User" # Sostituisci con il nome dell'utente desiderato
$userProfilePath = "C:\Users\$specificUser" # Percorso del profilo utente

Write-Host "Pulizia della cache per l'utente: ${specificUser}"

# Percorsi delle cache
$cachePaths = @{
'chrome' = 'AppData\Local\Google\Chrome\User Data'
'firefox' = 'AppData\Local\Mozilla\Firefox\Profiles'
'msedge' = 'AppData\Local\Microsoft\Edge\User Data'
'opera' = 'AppData\Roaming\Opera Software\Opera Stable'
'yandex' = 'AppData\Local\Yandex\YandexBrowser\User Data'
}

# Pulizia vera e propria
foreach ($browser in $cachePaths.Keys) {
$basePath = Join-Path -Path $userProfilePath -ChildPath $cachePaths[$browser]

# Verifica se il percorso base esiste
if (Test-Path $basePath) {
Write-Host "Trovato percorso di cache per ${browser}: $basePath"

# Gestione dei profili multipli (se applicabile)
if ($browser -eq 'firefox') {
# Scansiona tutte le cartelle dei profili di Firefox
$profileFolders = Get-ChildItem -Path $basePath -Directory
foreach ($profile in $profileFolders) {
$cacheFolder = Join-Path -Path $profile.FullName -ChildPath 'cache2'
if (Test-Path $cacheFolder) {
try {
Remove-Item -Path $cacheFolder -Recurse -Force
Write-Host "Cache di ${browser} rimossa per il profilo $($profile.Name) dell'utente ${specificUser}"
} catch {
Write-Host "Errore nella rimozione della cache di ${browser} per il profilo $($profile.Name) dell'utente ${specificUser}: $_"
}
} else {
Write-Host "La cartella cache2 di ${browser} gi vuota per il profilo $($profile.Name) dell'utente ${specificUser}"
}
}
} else {
# Rimozione diretta delle cartelle di cache per gli altri browser
$cacheFolders = @('Cache', 'GPUCache', 'Code Cache')
foreach ($folder in $cacheFolders) {
$cachePath = Join-Path -Path $basePath -ChildPath $folder
if (Test-Path $cachePath) {
try {
# Elimina il contenuto della cartella, inclusa Cache_Data
Get-ChildItem -Path $cachePath -Recurse | Remove-Item -Recurse -Force -ErrorAction Stop
Write-Host "Contenuto della cartella $folder di ${browser} rimosso per l'utente ${specificUser}"
} catch {
Write-Host "Errore nella rimozione del contenuto della cartella $folder di ${browser} per l'utente ${specificUser}: $_"
}
} else {
Write-Host "La cartella $folder di ${browser} gi vuota per l'utente ${specificUser}"
}
}

# Gestione esplicita della cartella Cache_Data
$cacheDataPath = Join-Path -Path $basePath -ChildPath 'Default\Cache\Cache_Data'
if (Test-Path $cacheDataPath) {
try {
Remove-Item -Path $cacheDataPath -Recurse -Force -ErrorAction Stop
Write-Host "Cartella Cache_Data di ${browser} rimossa per l'utente ${specificUser}"
} catch {
Write-Host "Errore nella rimozione della cartella Cache_Data di ${browser} per l'utente ${specificUser}: $_"
}
}

# Controllo post-eliminazione
if (Test-Path $cacheDataPath) {
Write-Host "ATTENZIONE: La cartella Cache_Data di ${browser} NON stata eliminata per l'utente ${specificUser}"
} else {
Write-Host "La cartella Cache_Data di ${browser} stata eliminata correttamente per l'utente ${specificUser}"
}
}
} else {
Write-Host "Percorso di cache di ${browser} non trovato per l'utente ${specificUser}"
}
}

 

************* fine codice  *************

Attenzione a sostituire lo USER con il vostro (o con quello che volete pulire) ,  nella riga:
# ----- MODIFICA IL NOME UTENTE QUI -----


image

Buona pulizia

Commenti