共用方式為


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和更新版本。 如需詳細資訊,請參閱 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 參數會指定要刪除的命令數目,包括指定的標識碼Newest 參數會指定從歷程記錄中清除最新的命令。 Get-History 會顯示更新的命令歷程記錄,並確認已刪除五個最新的命令, 標識碼 6 - 標識符 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 會顯示更新的命令歷程記錄,並確認已刪除命令 標識碼 3標識碼 5標識碼 6識別碼 7

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

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

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 會顯示更新的命令歷程記錄,並確認標識碼 3識別碼 5 已刪除。

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

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

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 參數會指定以標識碼 7 開頭。 Count 參數會指定刪除五個命令,其中包含指定的標識碼Get-History會顯示更新的命令歷程記錄,並確認已刪除五個命令,標識碼 3 - 標識碼 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:Int
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:Int[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

您無法使用管線會傳送至 Clear-History

輸出

None

Clear-History 不會產生任何輸出。

備註

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