Accedi

Clear Browser Cache da Powershell

  • Pubblico
Tony Billow 7 ore 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