Clear-History

从 PowerShell 命令历史记录中删除条目。

语法

IDParameter (默认值)

Clear-History
    [[-Id] <int[]>]
    [[-Count] <int>]
    [-Newest]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CommandLineParameter

Clear-History
    [[-Count] <int>]
    [-CommandLine <string[]>]
    [-Newest]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

Clear-History 从 PowerShell 会话中删除命令历史记录。 每个 PowerShell 会话都有自己的命令历史记录。 若要显示命令历史记录,请使用 Get-History cmdlet。

默认情况下,Clear-History 从 PowerShell 会话中删除整个命令历史记录。 可以将参数与 Clear-History 一起使用,以删除所选命令。

Clear-History 未清除 PSReadLine 命令历史记录文件。 PSReadLine 模块存储一个历史记录文件,其中包含来自每个 PowerShell 会话的每个 PowerShell 命令。 在 PowerShell 提示符下,使用键盘上的向上和向下箭头滚动浏览命令历史记录。 若要显示命令历史记录的 PSReadLine 配置,请使用 Get-PSReadLineOptionPSReadLine 随 PowerShell 5.0 及更高版本一起提供。 有关详细信息,请参阅 PSReadLineabout_PSReadLine

示例

示例 1:从 PowerShell 会话中删除命令历史记录

此命令从 PowerShell 会话的历史记录中删除所有命令。

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location .\Test
   2 Update-Help
   3 Set-Location C:\Test\Logs
   4 Get-Location

PS> Clear-History

PS> Get-History

  Id CommandLine
  -- -----------
   5 Clear-History

Get-History cmdlet 显示 PowerShell 会话的历史记录。 Clear-History 删除整个命令历史记录。 Get-History 显示更新的命令历史记录,并确认删除了以前的历史记录。

示例 2:删除最新的命令

此命令使用 CountNewest 参数从 PowerShell 会话历史记录中删除最新的命令。

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
   8 Set-Location C:\Test\Logs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem

PS> Clear-History -Count 5 -Newest

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
  11 Clear-History -Count 5 -Newest

Get-History cmdlet 显示 PowerShell 会话的历史记录。 Clear-History 用于删除命令历史记录。 Count 参数指定要删除的命令数,包括指定的 ID。最新 参数 指定从历史记录中清除最新的命令。 Get-History 显示更新的命令历史记录,并确认删除了五个最新命令,Id 6 - Id 10

示例 3:删除与特定条件匹配的命令

此命令将删除与 CommandLine 参数定义的特定条件匹配的命令。

PS C:\Test> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History

PS> Clear-History -CommandLine *Help*, *Syntax

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-Command Clear-History
   4 Get-Command Clear-History -ShowCommandInfo
   8 Clear-History -CommandLine *Help*, *Syntax

Get-History cmdlet 显示 PowerShell 会话的历史记录。 Clear-History 删除命令历史记录。 CommandLine 参数指定包含 Help 或以 Syntax 结尾的命令。 Get-History 显示更新的命令历史记录,并确认命令 ID 3Id 5Id 6,以及删除了 ID 7

示例 4:按 ID 号删除命令

此命令使用 Id删除特定历史记录项。若要删除多个命令,请提交以逗号分隔的 ID 列表 数字。

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-History
   3 Get-Help Get-Alias
   4 Get-Command Clear-History
   5 Get-Command Clear-History -Syntax
   6 Get-Command Clear-History -ShowCommandInfo

PS C:\> Clear-History -Id 3, 5

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-History
   4 Get-Command Clear-History
   6 Get-Command Clear-History -ShowCommandInfo
   7 Get-History
   8 Clear-History -Id 3, 5

Get-History cmdlet 显示 PowerShell 会话的历史记录。 Clear-History 删除命令历史记录。 Id 参数指定要删除的命令。 Get-History 显示更新的命令历史记录,并确认删除了 ID 3Id 5

示例 5:按 Id 编号和计数删除命令

此命令使用 IdCount 参数删除命令历史记录。 命令会按照相反的顺序(从最新到最旧)从指定的 Id 中删除。

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
   8 Set-Location C:\Test\Logs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem

PS> Clear-History -Id 7 -Count 5

PS> Get-History

  Id CommandLine
  -- -----------
   1 Set-Location C:\Test\
   2 Get-Command Clear-History
   8 Set-Location C:\Test\Logs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem
  11 Clear-History -Id 7 -Count 5

Get-History cmdlet 显示 PowerShell 会话的历史记录。 Clear-History 删除命令历史记录。 Id 参数指定以 Id 7开头。 Count 参数指定删除五个命令,包括指定的 IDGet-History 显示更新的命令历史记录,并确认删除了 5 个命令,Id 3 - Id 7

参数

-CommandLine

从 PowerShell 会话中删除命令历史记录。 该字符串必须完全匹配或使用通配符来匹配 Get-History 显示的 PowerShell 会话历史记录中的命令。 如果输入多个字符串,Clear-History 删除与任何字符串匹配的命令。 CommandLine 参数可与 Count 一起使用。

对于带空格的字符串,请使用单引号。 有关详细信息,请参阅 about_Quoting_Rules

参数属性

类型:

String[]

默认值:None
支持通配符:True
不显示:False

参数集

CommandLineParameter
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

在运行 Clear-History cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Count

指定 Clear-History 删除的历史记录条目数。 命令按顺序删除,从历史记录中最早的条目开始。

CountId 参数可以一起使用。 Count 参数指定要删除的命令数,包括指定的 ID。从指定的 ID开始,命令按反向顺序删除。 例如,如果 ID 为 30,并且 计数 为 10,Clear-History 删除项 21 到 30。

CountCommandLine 参数可以一起使用。 Count 指定要删除的与 CommandLine 参数值匹配的命令数。 命令按顺序删除。

参数属性

类型:Int
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Id

指定 删除的命令历史记录 Clear-History。 若要显示 ID 数字,请使用 Get-History cmdlet。 ID 数字是连续的,命令在整个 PowerShell 会话中保留其 ID 编号。 Id 参数可与 CountNewest 一起使用。

参数属性

类型:

Int[]

默认值:None
支持通配符:False
不显示:False

参数集

IDParameter
Position:0
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Newest

使用 最新 参数时,Clear-History 删除历史记录中的最新条目。 默认情况下,Clear-History 删除历史记录中最早的条目。

最新 参数可与 IDCount一起使用。 Count 参数指定要删除的命令数,包括指定的 ID。从指定的 ID开始,命令按顺序删除。 例如,如果 ID 为 30,并且 计数 为 10,Clear-History 删除项 30 到 39。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

显示 Clear-History cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

None

不能通过管道将对象传递给 Clear-History

输出

None

Clear-History 不生成任何输出。

备注

PowerShell 会话历史记录是 PowerShell 会话期间输入的命令的列表。 可以查看历史记录、添加和删除命令,以及从历史记录中运行命令。 有关详细信息,请参阅 about_History