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

PowerShell实现应用卸载并按条件输出日志文件的方案问询

PowerShell 应用卸载判断脚本实现

你可以直接使用以下完整脚本,满足检测、卸载、写日志、不存在直接退出的逻辑:

# 定义待检测的应用主程序路径
$FileName = "C:\Users\$env:USERNAME\AppData\Local\app_2_remove\app_2_remove.exe"

# 检测目标文件是否存在
if (Test-Path -Path $FileName -PathType Leaf) {
    # 切换到应用目录执行卸载
    Set-Location -Path "C:\Users\$env:USERNAME\AppData\Local\app_2_remove"
    .\Update.exe --uninstall

    # 拼接日志内容并写入c:\file.txt
    $logText = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') 已检测到app_2_remove程序,完成卸载操作"
    $logText | Out-File -FilePath "C:\file.txt" -Append -Encoding UTF8

    exit 0
}
else {
    # 未检测到程序直接成功退出
    exit 0
}

核心语法说明

  • Test-Path是PowerShell内置的路径检测命令,-PathType Leaf参数限定检测目标为文件,避免同名目录导致的误判
  • 写日志使用Out-File命令,-Append参数表示追加写入不会覆盖原有日志,-Encoding UTF8避免中文内容乱码
  • exit 0是标准的进程成功退出返回码,脚本调用方可通过返回码快速判断执行结果

可选优化

如果你需要记录卸载程序本身的执行结果,可以在调用Update.exe后补充捕获返回码写入日志:

# 执行卸载命令后追加以下代码
$uninstallResult = $LASTEXITCODE
$logText += ",卸载程序返回码:$uninstallResult"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:15:03