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

如何让PowerShell不保存执行出错的命令到历史记录?

让PowerShell不保存执行出错的命令到历史记录
  • 第一步:打开或创建PowerShell配置文件
    在PowerShell里运行$PROFILE查看配置文件路径,如果文件不存在,执行New-Item -Path $PROFILE -ItemType File -Force创建文件,然后用记事本或你常用的编辑器打开这个文件。

  • 第二步:添加过滤失败命令的脚本
    在配置文件里粘贴下面的代码:

    # 监听命令执行完成事件,立即移除失败命令
    Register-EngineEvent PowerShell.PostCommandExecution -Action {
        $lastCmd = Get-History -Count 1
        if ($lastCmd.ExecutionStatus -ne 'Completed') {
            Remove-History -Id $lastCmd.Id
        }
    } | Out-Null
    
    # 监听Shell退出事件,最后清理所有遗留的失败命令
    Register-EngineEvent PowerShell.Exiting -Action {
        Get-History | Where-Object { $_.ExecutionStatus -ne 'Completed' } | ForEach-Object {
            Remove-History -Id $_.Id
        }
    } | Out-Null
    
  • 第三步:让配置生效
    保存配置文件后,要么重启PowerShell,要么在当前Shell里执行. $PROFILE加载新配置。

这段代码的作用是:每次命令执行完立刻检查状态,只要不是“Completed”(即执行出错)就从历史记录删除;同时在Shell退出时做一次全局清理,确保没有遗漏的失败命令留在历史里。

内容的提问来源于stack exchange,提问作者Abdul Mannan shaikh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 08:22:03