Clear-History

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

语法

Clear-History
     [[-Id] <int[]>]
     [[-Count] <int>]
     [-Newest]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
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

cmdlet Get-History 显示 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

cmdlet Get-History 显示 PowerShell 会话的历史记录。 Clear-History 用于删除命令历史记录。 Count 参数指定要删除的命令数,包括指定的 IDNewest 参数指定从历史记录中清除最新的命令。 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

cmdlet Get-History 显示 PowerShell 会话的历史记录。 Clear-History 删除命令历史记录。 CommandLine 参数指定包含帮助或以语法结尾的命令。 Get-History 显示更新的命令历史记录,并确认已删除 Id 3Id 5Id 6Id 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

cmdlet Get-History 显示 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

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

参数

-CommandLine

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Count

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

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

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

Type:Int
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

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

Type:Int[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Newest

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行 cmdlet 时 Clear-History 会发生什么情况。 此 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

None

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

输出

None

Clear-History 不生成任何输出。

备注

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