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-PSReadLineOption
。
PSReadLine
随 PowerShell 5.0 及更高版本一起提供。 有关详细信息,请参阅 about_PSReadLine。
示例
示例 1:从 PowerShell 会话中删除命令历史记录
此命令将从 PowerShell 会话历史记录中删除所有命令。
Get-History
Id CommandLine
-- -----------
1 Set-Location .\Test
2 Update-Help
3 Set-Location C:\Test\Logs
4 Get-Location
Clear-History
Get-History
Id CommandLine
-- -----------
5 Clear-History
Get-History
cmdlet 显示 PowerShell 会话的历史记录。 Clear-History
会删除整个命令历史记录。 Get-History
显示更新的命令历史记录并确认先前的历史记录已删除。
示例 2:删除最新的命令
此命令使用 Count 和 Newest 参数从 PowerShell 会话历史记录中删除最新的命令。
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
Clear-History -Count 5 -Newest
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。Newest 参数指定从历史记录中清除最新的命令。 Get-History
显示更新的命令历史记录并确认已删除五个最新命令 (Id 6 - Id 10)。
示例 3:删除与特定条件匹配的命令
此命令将删除与 CommandLine 参数定义的特定条件相匹配的命令。
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
Clear-History -CommandLine *Help*, *Syntax
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 3、Id 5、Id 6 和 Id 7 已删除。
示例4:通过 Id 编号删除命令
此命令使用 Id 删除特定历史记录项目。若要删除多个命令,请提交以逗号分隔的 Id 数字列表。
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
Clear-History -Id 3, 5
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 3 和 Id 5 已删除。
示例 5:按 Id 编号和计数删除命令
此命令使用 Id 和 Count 参数来删除命令历史记录。 命令会按照相反的顺序(从最新到最旧)从指定的 Id 中删除。
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
Clear-History -Id 7 -Count 5
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 参数指定删除五个命令,包括指定的 Id。Get-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
删除的历史记录条目数。 命令按顺序删除,从历史记录中最旧的条目开始。
Count 和 Id 参数可以一起使用。 Count 参数指定要删除的命令数,包括指定的 Id。从指定的 Id 开始,按相反的顺序删除命令。 例如,如果 Id 为 30,Count 为 10,则 Clear-History
会删除第 21 到 30 项。
Count 和 CommandLine 参数可以一起使用。 Count 指定要删除的与 CommandLine 参数值匹配的命令数。 命令按顺序删除。
Type: | Int32 |
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 参数可与 Count 和 Newest 一起使用。
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Newest
使用 Newest 参数时,Clear-History
会删除历史记录中的最新条目。 默认情况下,Clear-History
会删除历史记录中最旧的条目。
Newest 参数可与 Id 和 Count 一起使用。 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
显示运行 Clear-History
cmdlet 时会发生什么情况。 cmdlet 未运行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
None
不能通过管道将对象传递给此 cmdlet。
输出
None
此 cmdlet 不返回任何输出。
备注
Windows PowerShell 包含 Clear-History
的以下别名:
clhy
PowerShell 会话历史记录是 PowerShell 会话期间输入的命令的列表。 可以查看历史记录、添加和删除命令以及运行历史记录中的命令。 有关详细信息,请参阅 about_History。
会话历史记录独立于 PSReadLine 模块维护的历史记录进行管理。 这两个历史记录在加载 PSReadLine 的会话中都可用。 此 cmdlet 仅适用于会话历史记录。 有关详细信息,请参阅 about_PSReadLine。