Recuperar el comando de PowerShell para editarlo

Recuperar el comando de PowerShell para editarlo

Conozco el comando Invoke-History (alias r) para recuperar y ejecutar un comando anterior, por ejemplo, r 29, pero ¿hay alguna manera de recuperar el comando 29 pero no ejecutarlo, es decir, ponerlo en la línea actual que puede editar antes de ejecutarlo? ¿Un poco como presionar la flecha hacia arriba varias veces? Con una larga historia, es una verdadera molestia volver a editar y ejecutar el comando anterior.

Sé que puedo hacer algo como esto para recuperar el texto de un comando:

hora 56 | Florida

Y luego copie y pegue, pero con comandos largos que abarcan una línea, debe copiar y pegar en un editor, unir las líneas y luego copiar y pegar nuevamente. ¡Bien!

Respuesta1

No puedo encontrar una manera de ejecutar PowerShell dentro de PowerShell, pero puede ejecutar el ejecutable de PowerShell y pasar el comando de PowerShell y funciona. Podría causar problemas con el alcance dependiendo de lo que esté haciendo.

& powershell $(h 56).CommandLine

Respuesta2

No es una solución pura de Powershell, pero puedes canalizarla a clip.exe y luego pegarla en la consola. Aún quedan dos pasos, pero su línea debería ajustarse correctamente. Si está utilizando XP, es posible que necesite copiar clip.exe desde un sistema Server 2003.

(h 56).CommandLine | clip.exe

información relacionada