16Aug

Så här använder du kommandog History i Windows PowerShell

Windows PowerShell har en inbyggd kommandoradsfunktion som ger detaljerad information om de kommandon du har kört. Liksom Command Prompt, kommer PowerShell bara ihåg din kommandoradshistorik för den aktuella sessionen.

Så här använder du kommandoradsbufferten

PowerShell har tekniskt två typer av kommandoradshistorik. För det första finns det en kommandorad buffert, som faktiskt ingår i den grafiska PowerShell-terminaltillämpningen och inte ingår i den underliggande Windows PowerShell-applikationen. Det ger några grundläggande funktioner:

  • Up Arrow : Återkalla föregående kommando du skrev. Tryck på knappen flera gånger för att gå igenom din kommandoradshistorik.
  • Nedåtpil : Återkalla nästa kommando du skrev. Tryck på knappen flera gånger för att gå igenom din kommandoradshistorik.
  • F8 : Sök din kommandoradshistorik för ett kommando som matchar texten på den aktuella kommandoraden. Så, om du ville söka efter ett kommando som började med "p", skulle du skriva "p" på kommandoraden och sedan flera gånger trycka på F8 för att bläddra igenom kommandon i din historik som börjar med "a".

Som standard minns bufferten de senaste 50 kommandon du skrev. För att ändra detta högerklickar du på titellinjen i PowerShell-snabbfönstret, väljer "Egenskaper" och ändrar värdet för "Buffertstorlek" under Kommandog History.

Så här visar du PowerShell History

Windows PowerShell själv håller en historia av de kommandon du har skrivit i den aktuella PowerShell-sessionen. Du kan använda flera medföljande cmdlets för att se och arbeta med din historia.

För att visa historiken för kommandon du har skrivit, kör följande cmdlet:

Get-History

Du kan söka i din historia genom att leda den resulterande utsignalen till cmdlet Select-String och ange texten du vill söka efter. Ersätt "Exempel" i cmdlet nedan med texten du vill söka efter:

Get-History |Välj-String -Pattern "Exempel"

För att visa en mer detaljerad kommandog History som visar exekveringsstatus för varje kommando tillsammans med start- och sluttider, kör följande kommando:

Get-History |Format-List -Property *

Som standard visar cmdlet Get-History endast de 32 senaste historikposterna. Om du vill visa eller söka ett större antal historikposter använder du -Count-alternativet för att ange hur många historikposter PowerShell ska visa, så här:

Get-History -Count 1000 Get-History -Count 1000 |Välj-String -Pattern "Exempel" Get-History -Count 1000 |Format-List -Property *

Så här körs kommandon från din historia

Om du vill köra ett kommando från din historia använder du följande cmdlet och specificerar ID-numret för historikobjektet som visas i cmdlet Get-History:

Invoke-History #

Om du vill köra två kommandon från din historia tillbaka till baksida använder du Invoke-History två gånger på samma rad, åtskilda av en semikolon. Till exempel, för att snabbt köra det första kommandot i din historik och sedan den andra, kör du:

Invoke-History 1; Invoke-History 2

Så här rensar du PowerShell History

För att rensa kommandonhistoriken du har skrivit, kör följande cmdlet:

Clear-History

Observera att kommandoradsbufferten är skild från PowerShell-historiken. Så, även efter att du kör Klar historik, kan du fortsätta att trycka uppåt och nedåtpilarna för att bläddra igenom kommandon du har skrivit. Men om du kör Get-History ser du att din PowerShell-historia faktiskt är tom.

PowerShell minns inte din historia mellan sessioner. För att radera båda kommandotistorierna för den aktuella sessionen, behöver du bara stänga PowerShell-fönstret.

Om du vill radera PowerShell-fönstret när du har raderat historiken kan du göra det genom att köra kommandot Radera:

Rensa

Spara och importera PowerShell-historiken

Om du vill spara PowerShell-kommandog History för den nuvarandesession så att du kan referera till det senare kan du göra det.

Get-History |Exportera-Clixml -Path c: \ users \ name \ desktop \ commands.xml

Detta exporterar din kommandoradshistorik som en detaljerad XML-fil komplett med "StartExecutionTime" och "EndExecutionTime" -värden för varje kommando som berättar när kommandot kördes ochhur lång tid det tog att slutföra

När du har exporterat din PowerShell-historia till en sådan XML-fil kan du( eller någon annan du skicka XML-filen till) importera den till en annan PowerShell-session med cmdlet tilläggshistorik:

Add-History -InputObject( Import-Clixml -Path C: \ users \ name \ desktop \ commands.xml)

Om du kör cmdlet Get-History efter att ha importerat en sådan XML-fil ser du att kommandon från XMLfilen importerades till din aktuella PowerShell-session.