Temporäre Dateien löschen mit Benutzerbestätigung

 

# Temporäre Dateien löschen mit Benutzerbestätigung

# Funktion zum Löschen temporärer Dateien eines bestimmten Browsers
function Remove-BrowserCache {
param(
[string]$browserName,
[string]$cachePath
)
$browserCachePath = "$env:USERPROFILE\AppData\Local\$browserName\Cache\$cachePath"
if (Test-Path $browserCachePath) {
Remove-Item -Path $browserCachePath\* -Force -Recurse
Write-Output "Temporäre Dateien von $browserName wurden gelöscht."
}
else {
Write-Output "Das Cache-Verzeichnis von $browserName wurde nicht gefunden."
}
}

# Zeige dem Benutzer die zu löschenden Dateien
$filesToDelete = Get-ChildItem $env:TEMP -File -Recurse
$filesToDelete += Get-ChildItem "$env:SystemRoot\Temp" -File -Recurse
$filesToDelete += Get-ChildItem "$env:USERPROFILE\AppData\Local\Microsoft\Outlook" -File -Recurse

Write-Host "Folgende temporäre Dateien werden gelöscht:"
$filesToDelete | ForEach-Object { $_.FullName }

# Browser-Cache löschen
Remove-BrowserCache -browserName "Google\Chrome" -cachePath "Default\Cache"
Remove-BrowserCache -browserName "Microsoft\Edge" -cachePath "Default\Cache"
Remove-BrowserCache -browserName "Mozilla\Firefox" -cachePath "default\Cache"

# Bestätigung des Benutzers
$confirmation = Read-Host "Möchten Sie diese Dateien löschen? (J/N)"
if ($confirmation -eq "J" -or $confirmation -eq "j") {
# Löschen von temporären Dateien im Temp-Verzeichnis des Benutzers
Remove-Item -Path $env:TEMP\* -Force -Recurse

# Löschen von temporären Dateien im Temp-Verzeichnis des Systems
Remove-Item -Path $env:SystemRoot\Temp\* -Force -Recurse

# Löschen von temporären Outlook-Dateien
Remove-Item -Path "$env:USERPROFILE\AppData\Local\Microsoft\Outlook\*" -Force -Recurse

Write-Output "Temporäre Dateien wurden gelöscht."
} else {
Write-Output "Löschvorgang abgebrochen."
}