windows – 如何从以前的会话中搜索Powershell命令历史记录

我使用当前的 Windows 10和Powershell 5.1.通常,我想查找过去用过的命令来修改和/或重新运行它们.不可避免地,我正在寻找的命令是在之前或不同的PowerShell窗口/会话中运行的.

当我敲击↑键时,我可以浏览许多会话中的许多命令,但是当我尝试使用Get-History搜索它们时Where-Object {$_.CommandLine -Like“* docker cp *”},我没有得到任何结果.基本故障排除显示Get-History不显示以前会话中的任何内容,如下所示:

C:\Users\Me> Get-History

  Id CommandLine
  -- -----------
   1 Get-History | Where-Object {$_.CommandLine -Like "*docker cP*"}

如何使用Get-History或其他Cmdlet搜索↑键提供的先前命令?

您提到的持久性历史记录由 PSReadLine提供.它与会话绑定的Get-History分开.

历史记录存储在由属性(Get-PSReadlineOption).HistorySavePath定义的文件中.使用Get-Content(Get-PSReadlineOption).HistorySavePath或文本编辑器等查看此文件.使用Get-PSReadlineOption检查相关选项. PSReadLine还通过ctrl r执行历史搜索.

使用您提供的示例:

Get-Content(Get-PSReadlineOption).HistorySavePath | ? {$_ -like’* docker cp *’}

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...