我是在 Win 10 下使用 PowerShell 5.1 的新手。我正在修补历史。到目前为止,我设法在与PSReadline
. *
但这是一个“有限”的持久历史,因为只有命令保存在文本文件中,在启动新会话时会读取该文件。因此,有关HistoryInfo对象的很多信息都丢失了,尤其是StartExecutionTime。然后,
Get-Content (Get-PSReadlineOption).HistorySavePath
给出所有没有“时间戳”的命令,并且Get-History
给出带有时间戳的命令,但仅适用于当前会话。
我习惯了history
in bash
,这两个点都是正确的。
这个旧文档(2009) 显示了一种可能的解决方法。在离开会话之前,我设法导出了所有历史信息Get-History | Export-Clixml $env:PSDIR'\my_history.xml'
。Import-Clixml $env:PSDIR'\my_history.xml' | Add-History
在新会话开始时执行会恢复完整的历史记录,包括时间戳。
我想,缺少的是:
一种在关闭会话时自动导出历史记录的方法。我什至不知道这是否可能。
导入后删除历史记录中的第一行,因为它包含导入命令本身。我没有在这方面工作,但我想我可以处理它。没有必要。如果导入命令在启动脚本中执行,它不会进入历史记录。
这是实现预期结果的可行方法吗? 如果是这样,我怎么能化身项目1?
有没有其他选择?
* 虽然我无法让它在 PS ISE 中工作。