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
相关产品推荐
相关产品推荐

