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

    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 kommandoradbufferten

    PowerShell har tekniskt två typer av kommandog History. För det första finns det kommandoradsbufferten, 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:

    • Uppåtpil: Å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 genom kommandon i din historik som börjar med "a".

    Som standard kommer bufferten ihåg 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 över 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 som du har skrivit, kör följande cmdlet:

    Get-historia

    Du kan söka i din historia genom att leda den resulterande utsignalen till Välj-String cmdlet och specificerar 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 är Get-historia cmdlet visar bara de 32 senaste historikposterna. Om du vill visa eller söka ett större antal historikposter använder du -Räkna möjlighet att ange hur många historik poster PowerShell ska visa, så här:

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

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

    För att köra ett kommando från din historia, använd följande cmdlet och ange id-numret för historikobjektet som visas av Get-historia cmdlet:

    Invoke-History #

    För att köra två kommandon från din historia tillbaka till baksida, använd Invoke-historia två gånger på samma linje, å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 kommandot historia som du har skrivit, kör följande cmdlet:

    Rensa historik

    Observera att kommandoradsbufferten är skild från PowerShell-historiken. Så, även efter att du kört Rensa historik, Du kan 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-historia, Du kommer att se att din PowerShell-historia faktiskt är tom.

    PowerShell kommer inte ihåg din historia mellan sessionerna. Om du vill radera både kommandoregister 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 Klar kommando:

    Klar

    Så här sparar och importerar du PowerShell History

    Om du vill spara PowerShell-kommandog History för den aktuella sessionen så att du kan referera till den 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 och hur lång tid det tog att slutföra.

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

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

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