Clear-History

從 PowerShell 工作階段命令歷程記錄中刪除專案。

Syntax

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

Description

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和更新版本。 如需詳細資訊,請參閱 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

Cmdlet Get-History 會顯示 PowerShell 工作階段的歷程記錄。 Clear-History 會刪除整個命令歷程記錄。 Get-History 會顯示更新的命令歷程記錄,並確認先前的歷程記錄已刪除。

範例 2:刪除最新的命令

此命令會 使用 CountNewest 參數,從 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

Cmdlet Get-History 會顯示 PowerShell 工作階段的歷程記錄。 Clear-History 是用來刪除命令歷程記錄。 Count 參數會指定要刪除的命令數目,其中包含指定的標識碼Newest 參數會指定從歷程記錄清除最新的命令。 Get-History會顯示更新的命令歷程記錄,並確認已刪除五個最新的命令,標識碼 6 - 標識符 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

Cmdlet Get-History 會顯示 PowerShell 工作階段的歷程記錄。 Clear-History 會刪除命令歷程記錄。 CommandLine 參數會指定包含說明或以語法結尾的命令。 Get-History 會顯示更新的命令歷程記錄,並確認已刪除命令 標識碼 3標識碼 5標識碼 6識別碼 7

範例 4:依標識符刪除命令

此命令會使用 識別碼刪除特定記錄專案。若要刪除多個命令,請提交以逗號分隔的 標識符 清單。

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

Cmdlet Get-History 會顯示 PowerShell 工作階段的歷程記錄。 Clear-History 會刪除命令歷程記錄。 Id 參數會指定要刪除的命令。 Get-History 會顯示更新的命令歷程記錄,並確認 標識碼 3識別碼 5 已刪除。

範例 5:依標識符編號和計數刪除命令

此命令會使用識別碼計數參數來刪除命令歷程記錄。 命令會以反向順序從指定的 標識碼 中刪除,以最舊到最舊的順序刪除。

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

Cmdlet Get-History 會顯示 PowerShell 工作階段的歷程記錄。 Clear-History 會刪除命令歷程記錄。 Id 參數會指定以標識碼 7 開頭。 Count 參數會指定刪除包含指定識別碼的五個命令。Get-History會顯示更新的命令歷程記錄,並確認已刪除五個命令,標識元 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

在執行 Cmdlet 之前 Clear-History ,提示您進行確認。

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

-Count

指定刪除的記錄項目 Clear-History 數目。 命令會依序刪除,從歷程記錄中最舊的項目開始。

CountId 參數可以一起使用。 Count 參數會指定要刪除的命令數目,其中包含指定的標識碼。從指定的標識元開始,命令會以反向順序刪除。 例如,如果標識碼為 30 且 Count 為 10,Clear-History則會刪除專案 21 到 30。

CountCommandLine 參數可以一起使用。 Count 指定要刪除符合 CommandLine 參數值的命令數目。 命令會依循序刪除。

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

-Id

指定刪除的命令歷程記錄識別碼Clear-History。 若要顯示 標識碼 ,請使用 Get-History Cmdlet。 標識符是循序的,而且命令會在整個 PowerShell 會話中保留其標識碼。 Id 參數可以搭配 CountNewest 使用。

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

-Newest

使用 Newest 參數時,Clear-History刪除歷程記錄中最新的專案。 根據預設, Clear-History 會刪除歷程記錄中最舊的專案。

最新的參數可以搭配標識碼計數使用。 Count 參數會指定要刪除的命令數目,其中包含指定的標識碼。從指定的標識元開始,命令會依序刪除。 例如,如果標識碼為 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

您無法使用管線將物件傳送至此 Cmdlet。

輸出

None

此 Cmdlet 不會傳回任何輸出。

備註

PowerShell 包含下列的 Clear-History別名:

  • 所有平臺:
    • clhy

PowerShell 會話歷程記錄是 PowerShell 工作階段期間所輸入命令的清單。 您可以檢視歷程記錄、新增和刪除命令,以及從歷程記錄執行命令。 如需詳細資訊,請參閱 about_History

會話歷程記錄會與 PSReadLine 模組所維護的歷程記錄分開管理。 這兩個歷程記錄可在載入 PSReadLine會話中使用。 此 Cmdlet 僅適用於會話歷程記錄。 如需詳細資訊, 請參閱 about_PSReadLine