CMD - MS Teams Cache löschen

duAffentier

Vice Admiral
Registriert
Jan. 2008
Beiträge
6.353
Hallo,

ich will eine CMD erstellen, die folgendes macht:

1. Frage:
Zuerst müssen wir den Microsoft Teams Desktop Client vollständig beenden.
Kann man das per CMD machen?

--> Alternativ kann man ja ein Textfeld/Meldung machen, das man Teams beenden muss

2. Daten löschen auf c:
Pfadleiste %appdata%\Microsoft\Teams.

Im Ordner "application cache" den Inhalt des Unterordners "Cache".
Im Ordner "blob_storage"
Im Ordner "Cache".
Im Ordner "databases".
Im Ordner "GPUcache".
Im Ordner "IndexedDB".
Im Ordner "Local Storage".
Und zuletzt im Ordner "tmp".

In diesen Ordner soll der Inhalt gelöscht werden.
Wie kann man das am einfachsten lösen?

Lg
 
Was hast Du denn schon erreicht oder wo liegt genau das Problem? Wenn Du es über eine Batch lösen willst, dann sollte der Befehl "taskkill" und der Befehl "del" schon einiges lösen.

Die Frage warum Du den Cache löschen willst stelle ich mal nicht.
 
Unser Powershell Skript sieht so aus:

PowerShell:
Add-Type -AssemblyName Microsoft.VisualBasic    # Bibliothek für Messagebox laden
## Messagebox um den Benutzer zu informieren
$Ausgabe = "Hiermit wird der Cache von Microsoft Teams geleert.
`Microsoft Teams muss währenddessen geschlossen sein.
`n- JA:   Microsoft Teams wird AUTOMATISCH BEENDET und der Cache gelerrt
`n- NEIN: Microsoft Teams wird weiterhin ausgeführt, der Cache aber NICHT GELERRT"
$Output=[Microsoft.VisualBasic.Interaction]::MsgBox($Ausgabe,'YesNo,SystemModal,Exclamation',"Microsoft Teams Cache")
      
switch ($Output)
{
    "Yes"
    {
        try
        {
            $TeamsOpen = Get-Process -ProcessName Teams -ErrorAction SilentlyContinue
            $TeamsOpen | Stop-Process -Force
            Start-Sleep -Seconds 5
            Write-Host "Microsoft Teams wurde beendet."
        }
        catch
        {
            echo $_
        }
        # Der Cache wird nun geleert
        try
        {
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\application cache\cache" -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\blob_storage" -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\databases" -ErrorAction SilentlyContinue  | Remove-Item -Force -Recurse
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\cache" -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\gpucache" -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\Indexeddb" -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\Local Storage" -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse
            Get-ChildItem -Path $env:APPDATA\"Microsoft\teams\tmp" -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse
        }
        catch
        {
            echo $_
        }
        write-host "`nDer Cache wurde erfolgreich geleert."
        Start-Sleep -Seconds 5
        if ($TeamsOpen -ne $null)
        {
            Start-Process -FilePath $env:LOCALAPPDATA\"Microsoft\Teams\current\Teams.exe"
        }
    }

}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: cloudman, duAffentier, sebbolein und 3 andere
dasTTS schrieb:
Was hast Du denn schon erreicht oder wo liegt genau das Problem? Wenn Du es über eine Batch lösen willst, dann sollte der Befehl "taskkill" und der Befehl "del" schon einiges lösen.

Die Frage warum Du den Cache löschen willst stelle ich mal nicht.
Du stellst die Frage aber!
Dann Frage bitte mal MS, wieso "sehr oft" Chats fehlen. Da im Cache ein Problem vorhanden ist, was dann die Chats verschwinden lässt. Dieser Workaround hilft dabei, das alles wieder sichtbar ist.
 
Zuletzt bearbeitet:
LasseSamenström schrieb:
Hiermit wird der Cache von Microsoft Teams gelerrt.
Weise Deine Anwender doch bitte in korrektem Deutsch darauf hin, was das Skript macht. Es heißt "geleert", nicht "gelerrt". Mir tut so etwas immer in den Augen weh.
 
Hab's mal angepasst, auch wenn es unsere Anwender nicht sehen. Die Rechtschreibpolizei kann jetzt wieder zurück auf's Revier...
 
  • Gefällt mir
Reaktionen: Bodennebel
Hallo,
ich möchte mit einer CMD an einem Ort eine CMD erstellen.
Dieser Code sollte gehen, es erstellt aber die CMD nicht.
Woran liegt das?

Code:
:SC1
@echo off
cls
set PFAD="C:\Users\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
set MYTEMP=C:\temp1
set DATEI=Cacheloeschen.cmd
set INHALT1=rd /s /q %USERPROFILE%\AppData\Local\Microsoft\Office\16.0\OfficeFileCache

echo %INHALT1%>%PFAD%%DATEI%
goto END
 
Die Idee mit den Anführungszeichen war gut, nur nicht korrekt umgesetzt.

Code:
:SC1
@echo off
cls
set "PFAD=%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\"
set "MYTEMP=C:\temp1"
set "DATEI=Cacheloeschen.cmd"
set "INHALT1=rd /s /q %localappdata%\Microsoft\Office\16.0\OfficeFileCache"

echo "%INHALT1%">"%PFAD%%DATEI%"
goto END

EDIT: Der Pfad ist falsch. %userprofile% verweist direkt auf den Userordner. Allerdings ist %appdata% noch kürzer.
 
Zurück
Oben