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

PowerShell中Remove-Item命令无法删除卸载残留文件夹问题求助

问题根因

  • 你的脚本执行cd命令进入了目标删除文件夹,PowerShell当前工作目录会锁定该文件夹,导致系统判定目录被占用,这是最核心的触发原因。手动删除时没有终端/程序占用该目录作为工作路径,因此可以正常删除。
  • 次要可能性:调用.\Update.exe --uninstall时没有等待卸载进程完全结束,卸载程序的残留进程仍占用目录内文件。

修复后的脚本

$targetPath = "C:\Users\$env:USERNAME\AppData\Local\my_app"
$FileName = Join-Path $targetPath "app1.exe"
if (Test-Path $FileName) {
    Write-Host "File Exists"
}
else {
    Write-Host "File Doesn't Exist"
    exit
}

# 用Start-Process调用卸载程序,加-Wait确保进程完全退出
Start-Process -FilePath (Join-Path $targetPath "Update.exe") -ArgumentList "--uninstall" -Wait -NoNewWindow

# 切换工作目录到系统根目录,解除对目标文件夹的锁定
Set-Location "C:\"

# 执行删除
Remove-Item -Path $targetPath -Force -Recurse

补充注意事项

  • 如果你的Intune任务是用系统上下文部署的,$env:USERNAME会取值为SYSTEM,无法匹配普通用户的目录路径,需要调整为用户上下文部署,或增加逻辑获取当前登录用户的配置文件路径。
  • 若调整后仍偶发占用报错,可以在删除前增加1-2秒延迟:Start-Sleep -Seconds 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:15:02