16Aug

Cómo usar su historial de comandos en Windows PowerShell

Windows PowerShell tiene una función de historial de comandos incorporada que proporciona información detallada sobre los comandos que ha ejecutado. Al igual que el símbolo del sistema, PowerShell solo recuerda su historial de comandos para la sesión actual.

Cómo usar el búfer de línea de comandos

PowerShell tiene técnicamente dos tipos de historial de comandos. En primer lugar, está el búfer de la línea de comandos, que en realidad es parte de la aplicación gráfica del terminal PowerShell y no es parte de la aplicación subyacente de Windows PowerShell. Proporciona algunas características básicas:

  • Flecha arriba : Recupere el comando anterior que escribió.Presione la tecla repetidamente para recorrer su historial de comandos.
  • Flecha abajo : Recupere el próximo comando que escribió.Presione la tecla repetidamente para recorrer su historial de comandos.
  • F8 : Busque en su historial de comandos un comando que coincida con el texto en la línea de comando actual. Entonces, si quiere buscar un comando que comience con "p", escriba "p" en la línea de comando y luego presione repetidamente F8 para recorrer los comandos en su historial que comienzan con "a".

Por defecto, el búfer recuerda los últimos 50 comandos que escribió.Para cambiar esto, haga clic con el botón derecho en la barra de título de la ventana del indicador de PowerShell, seleccione "Propiedades" y cambie el valor de "Tamaño del búfer" en Historial de comandos.

Cómo ver el historial de PowerShell

Windows PowerShell mismo mantiene un historial de los comandos que ha escrito en la sesión actual de PowerShell. Puede usar varios cmdlets incluidos para ver y trabajar con su historial.

Para ver el historial de los comandos que ha escrito, ejecute el siguiente cmdlet:

Get-History

Puede buscar su historial conectando el resultado al cmdlet Select-String y especificando el texto que desea buscar. Reemplace "Ejemplo" en el cmdlet a continuación con el texto que desea buscar:

Get-History |Select-String -Pattern "Ejemplo"

Para ver un historial de comandos más detallado que muestra el estado de ejecución de cada comando junto con sus horas de inicio y fin, ejecute el siguiente comando:

Get-History |Format-List -Property *

De forma predeterminada, el cmdlet Get-History solo muestra las 32 entradas de historial más recientes. Si desea ver o buscar un mayor número de entradas de historial, use la opción -Count para especificar cuántas entradas de historial debe mostrar PowerShell, como las siguientes:

Get-History -Count 1000 Get-History -Count 1000 |Select-String -Pattern "Ejemplo" Get-History -Count 1000 |Format-List -Property *

Cómo ejecutar comandos desde su historial

Para ejecutar un comando de su historial, use el siguiente cmdlet, especificando el número de Id del elemento de historial como se muestra en el cmdlet Get-History:

Invoke-History #

Para ejecutar dos comandos de su historial de forma consecutiva, use Invoke-History dos veces en la misma línea, separados por un punto y coma. Por ejemplo, para ejecutar rápidamente el primer comando en su historial y luego el segundo, ejecuta:

Invoke-History 1; Invoke-History 2

Cómo borrar el historial de PowerShell

Para borrar el historial de comandos que ha escrito, ejecute el siguiente cmdlet:

Clear-History

Tenga en cuenta que el búfer de línea de comandos está separado del historial de PowerShell. Por lo tanto, incluso después de ejecutar Clear-History, puede continuar presionando las teclas de las flechas orientadas hacia arriba y hacia abajo para desplazarse por los comandos que ha escrito. Sin embargo, si ejecuta Get-History, verá que su historial de PowerShell está vacío.

PowerShell no recuerda su historial entre sesiones. Para borrar ambos historiales de comando para la sesión actual, todo lo que tiene que hacer es cerrar la ventana de PowerShell.

Si desea borrar la ventana de PowerShell después de borrar el historial, puede hacerlo ejecutando el comando Borrar:

Borrar

Cómo guardar e importar su historial de PowerShell

Si desea guardar el historial de comandos de PowerShell para el actualsesión para que pueda consultarlo más tarde, puede hacerlo.

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

Esto exporta su historial de comandos como un archivo XML detallado completo con los valores "StartExecutionTime" y "EndExecutionTime" para cada comando que indica cuándo se ejecutó el comando ycuánto tiempo tomó completar.

Una vez que haya exportado su historial de PowerShell a dicho archivo XML, usted( o cualquier otra persona a quien le envíe el archivo XML) puede importarlo a otra sesión de PowerShell con el cmdlet Add-History:

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

Si ejecuta el cmdlet Get-History después de importar un archivo XML de este tipo, verá que los comandos del XMLarchivo se importaron en el historial de la sesión actual de PowerShell.