Windows PowerShell 具有内置的历史记录功能,可记住使用它时执行的所有命令。虽然它应该记住活动会话的历史记录,但我看到它保留的不止于此。在这篇文章中,我将展示如何查看 PowerShell 命令历史记录并巧妙地使用它。

具有历史记录功能的最显着优点是您不必再次键入即可执行已经执行过一次的特定命令。但是,递归数百个命令没有多大帮助。如何搜索它们或运行您只记得部分的特定命令?请遵循以下方法。
最后,我们还解释了如何清除、导出和导入 PowerShell 命令的历史记录。如果您需要经常执行相同的命令,则非常方便。
1、 键盘方法

如果您已经使用了一段时间,我相信您已经使用过一次命令提示符。如果上下使用箭头键,则可以来回执行命令。这同样适用于 PowerShell。但这里有一个转折点。如果您部分记住了某个命令,以下是搜索方法。
• 键入您记住的命令的一部分
• 按 F8,并继续按下它,直到找到。
• 搜索词将以绿色荧光突出显示,然后是命令的其余部分。
唯一的缺点是搜索词必须是命令的开头。
2、 在历史记录中向前或向后搜索

如果要在历史记录中向前或向后搜索,则可以使用 Ctrl + R 和 Ctrl + S。前者允许您在历史记录中向后搜索,而后者则向前搜索。一旦你使用键盘快捷键,你应该在底部得到一个片段(back-i-search或fwd-i-search)。键入要搜索的内容,即使文本属于命令中间的某个位置,它也会搜索它。与我们上面使用的 F8 方法相比,它要好得多。
3、 查看此会话的整个 PowerShell 命令历史记录

键入 History,然后按 Enter 键。您应该能够看到在当前会话中执行的所有命令。虽然您可以使用箭头键查看在先前会话中执行的命令,但历史记录将没有它。如果您按“H”键并按回车键,它将显示命令的历史记录。将其视为“历史记录”命令的快捷方式。
4、 从历史记录中调用特定命令

如果您注意到,上图的每个命令旁边都有一个 ID。如果要执行列表中的一个特定命令,则需要使用 Invoke-History。
• 记下要执行的命令的 ID
• 键入 invoke-history 。 将 替换为确切的数字
• 按 Enter 键,它将执行历史记录中的该命令。
5、 在历史记录中搜索

在命令的历史记录中搜索的最简单方法是对历史记录输出使用 Select-String 方法。
• 键入以下内容,并将 Get 替换为要搜索的术语
• 获取历史记录 |select-string -pattern “获取”。
• 它将显示与搜索命令匹配的所有命令。
由于您获得了 id,因此可以使用 Invoke History 命令立即执行它。
要从历史记录中删除所有命令,您需要做的就是执行命令“Clear-History”。请注意,即使执行此操作,您仍然可以使用向上和向下箭头键访问该命令。
若要导出所有命令,可以使用 Export-Clixml 或 Export-CSV 格式。下面是示例命令
Get-History | Export-Clixml -Path \PSHistorycommands.xml
相关文章
网友评论(共有 0 条评论)