16Aug

Cum să utilizați istoricul comenzilor în Windows PowerShell

Windows PowerShell are o funcție de istorie a comenzilor încorporate, care oferă informații detaliate despre comenzile pe care le-ați executat. La fel ca în Command Prompt, PowerShell își amintește doar istoricul comenzilor pentru sesiunea curentă.

Cum se utilizează buffer-ul de linie de comandă

PowerShell tehnic are două tipuri de istorie a comenzilor. Mai întâi, există tamponul de linie de comandă, care este de fapt parte din aplicația grafică PowerShell și nu face parte din aplicația Windows PowerShell. Acesta oferă câteva caracteristici de bază:

  • Arrow Sus : Rețineți comanda anterioară introdusă.Apăsați repetat tasta pentru a trece prin istoricul comenzilor.
  • Săgeată în jos : Rețineți următoarea comandă pe care ați introdus-o. Apăsați repetat tasta pentru a trece prin istoricul comenzilor.
  • F8 : Căutați istoricul comenzilor pentru o comandă care să corespundă textului din linia de comandă curentă.Deci, dacă doriți să căutați o comandă care începe cu "p", introduceți "p" pe linia de comandă și apoi apăsați repetat F8 pentru a trece prin comenzile din istoric care încep cu "a".

În mod implicit, memoria tampon memorează ultimele 50 de comenzi pe care le-ați introdus. Pentru a schimba acest lucru, faceți clic dreapta pe bara de titlu a ferestrei de prompt PowerShell, selectați "Properties" și modificați valoarea "Buffer Size" în History Command.

Cum se vede istoricul PowerShell

Windows PowerShell în sine păstrează un istoric al comenzilor introduse în sesiunea curentă PowerShell. Puteți utiliza mai multe cmdleturi incluse pentru a vizualiza și a lucra cu istoricul dvs.

Pentru a vedea istoricul comenzilor pe care le-ați tastat, executați următorul cmdlet:

Get-History

Puteți căuta istoricul prin pipetarea ieșirii rezultate în cmdletul Select-String și specificând textul pe care doriți să îl căutați.Înlocuiți "Exemplu" în directorul de mai jos cu textul pe care doriți să îl căutați:

Get-History |Selectați-String -Pattern "Exemplu"

Pentru a vizualiza un istoric de comandă mai detaliat care afișează starea de execuție a fiecărei comenzi împreună cu duratele de început și de sfârșit, executați următoarea comandă:

Get-History |Format-List-Property *

În mod implicit, cmdlet-ul Get-History afișează numai cele mai recente 32 de intrări de istoric. Dacă doriți să vizualizați sau să căutați un număr mai mare de intrări în istoric, utilizați opțiunea -Count pentru a specifica câte intrări de istoric ar trebui să fie afișate de PowerShell, cum ar fi:

Get-History -Count 1000 Get-History -Count 1000 |Selectați-String -Pattern "Exemplu" Get-History -Count 1000 "Format-List -Property *

Cum se execută comenzi din istoricul dvs.

Pentru a executa o comandă din istoricul dvs., utilizați următorul cmdlet, specificând numărul Id al elementului istoric, așa cum se arată în cmdletul Get-History:

Invoke-History #

Pentru a rula două comenzi din istoricul dvs. în spate, utilizați Invoke-History de două ori pe aceeași linie, separate de punct și virgulă.De exemplu, pentru a rula rapid prima comandă din istoricul dvs. și apoi a doua, ați rula:

Invoke-History 1; Invoke-History 2

Cum puteți șterge istoricul PowerShell

Pentru a șterge istoricul comenzilor pe care le-ați tastat, executați următorul cmdlet:

Clear-History

Rețineți că bufferul liniei de comandă este separat de istoricul PowerShell. Deci, chiar și după ce ați executat Istoricul clar, puteți continua să apăsați tastele săgeată sus și jos pentru a parcurge comenzile pe care le-ați tastat. Cu toate acestea, dacă rulați Get-History, veți vedea că istoricul PowerShell este de fapt gol.

PowerShell nu își amintește istoricul între sesiuni. Pentru a șterge ambele istorii de comenzi pentru sesiunea curentă, tot ce trebuie să faceți este să închideți fereastra PowerShell.

Dacă doriți să ștergeți fereastra PowerShell după ștergerea istoricului, o puteți face executând comanda Clear:

Ștergeți

Cum puteți salva și importa istoricul PowerShell

Dacă doriți să salvați istoricul comenzilor PowerShell pentru actualulastfel încât să puteți face referire la aceasta mai târziu, puteți face acest lucru.

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

Acest lucru exporta istoricul comenzilor ca un fișier XML detaliat complet cu valorile "StartExecutionTime" și "EndExecutionTime" pentru fiecare comandă care vă spune când a fost executată comandacât a durat până la finalizare.

Odată ce ați exportat istoricul PowerShell la un astfel de fișier XML, tu( sau oricine altcui îi trimiteți fișierul XML) îl poate importa într-o altă sesiune PowerShell cu rutine Add-History cmdlet:

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

Dacă executați cmdletul Get-History după importarea unui astfel de fișier XML, veți vedea că comenzile din XMLfișierul a fost importat în istoria curentă a sesiunii PowerShell.