You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写脚本批量清理Windows工作站所有用户的Teams残留文件

批量清理Windows全用户Teams残留文件脚本方案

问题背景

需要遍历Windows工作站的C:\Users目录下所有用户文件夹,批量删除每个用户的AppData\Roaming\Microsoft\Teams和AppData\Local\Microsoft\Teams目录,彻底清理Teams残留文件。原有仅针对当前登录用户的清理脚本存在路径错误(导致找不到文件),无法实现全用户批量清理。

原有脚本问题说明

原有脚本中%AppData%本身就指向C:\Users\当前用户\AppData\Roaming,因此%appdata%\roaming\microsoft\teams的实际路径是重复的C:\Users\当前用户\AppData\Roaming\Roaming\Microsoft\Teams,这是提示找不到文件的核心原因。


方案1:CMD批量清理脚本

以管理员身份运行以下脚本,可遍历所有用户目录并彻底删除Teams残留目录:

@echo off
setlocal enabledelayedexpansion

echo 正在遍历所有用户文件夹并清理Teams残留文件...

:: 遍历C:\Users下的所有用户目录
for /d %%U in (C:\Users\*) do (
    set "roamingTeams=%%U\AppData\Roaming\Microsoft\Teams"
    set "localTeams=%%U\AppData\Local\Microsoft\Teams"

    :: 清理Roaming下的Teams目录
    if exist "!roamingTeams!" (
        echo 正在清理用户 %%~nU 的Roaming Teams文件...
        rmdir /s /q "!roamingTeams!"
        if !errorlevel! equ 0 (
            echo 成功清理 %%~nU 的Roaming Teams目录
        ) else (
            echo 清理 %%~nU 的Roaming Teams目录失败
        )
    ) else (
        echo 用户 %%~nU 无Roaming Teams目录,跳过
    )

    :: 清理Local下的Teams目录
    if exist "!localTeams!" (
        echo 正在清理用户 %%~nU 的Local Teams文件...
        rmdir /s /q "!localTeams!"
        if !errorlevel! equ 0 (
            echo 成功清理 %%~nU 的Local Teams目录
        ) else (
            echo 清理 %%~nU 的Local Teams目录失败
        )
    ) else (
        echo 用户 %%~nU 无Local Teams目录,跳过
    )
)

echo 全用户Teams残留文件清理完成
pause

方案2:PowerShell批量清理脚本

PowerShell版本对权限和错误处理更友好,同样需要以管理员身份运行:

Write-Host "正在遍历所有用户文件夹并清理Teams残留文件..." -ForegroundColor Cyan

# 获取C:\Users下的所有用户目录
$userProfiles = Get-ChildItem -Path "C:\Users" -Directory

foreach ($user in $userProfiles) {
    $roamingTeamsPath = Join-Path -Path $user.FullName -ChildPath "AppData\Roaming\Microsoft\Teams"
    $localTeamsPath = Join-Path -Path $user.FullName -ChildPath "AppData\Local\Microsoft\Teams"

    # 清理Roaming Teams目录
    if (Test-Path -Path $roamingTeamsPath) {
        Write-Host "正在清理用户 $($user.Name) 的Roaming Teams文件..." -ForegroundColor Yellow
        try {
            Remove-Item -Path $roamingTeamsPath -Recurse -Force -ErrorAction Stop
            Write-Host "成功清理 $($user.Name) 的Roaming Teams目录" -ForegroundColor Green
        }
        catch {
            Write-Host "清理 $($user.Name) 的Roaming Teams目录失败: $_" -ForegroundColor Red
        }
    }
    else {
        Write-Host "用户 $($user.Name) 无Roaming Teams目录,跳过" -ForegroundColor Gray
    }

    # 清理Local Teams目录
    if (Test-Path -Path $localTeamsPath) {
        Write-Host "正在清理用户 $($user.Name) 的Local Teams文件..." -ForegroundColor Yellow
        try {
            Remove-Item -Path $localTeamsPath -Recurse -Force -ErrorAction Stop
            Write-Host "成功清理 $($user.Name) 的Local Teams目录" -ForegroundColor Green
        }
        catch {
            Write-Host "清理 $($user.Name) 的Local Teams目录失败: $_" -ForegroundColor Red
        }
    }
    else {
        Write-Host "用户 $($user.Name) 无Local Teams目录,跳过" -ForegroundColor Gray
    }
}

Write-Host "全用户Teams残留文件清理完成" -ForegroundColor Cyan
Read-Host "按任意键退出"

注意事项

  • 必须以管理员身份运行脚本,否则无法访问其他用户的AppData目录
  • 清理完成后,配合已有的计算机级Teams安装脚本和计划任务,重启工作站后用户即可重新安装并正常使用Teams

内容的提问来源于stack exchange,提问作者Joshua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:11:08