Comando Recall PowerShell para edição

2

Eu sei sobre o comando Invoke-History (alias r) para recuperar e executar um comando anterior, por exemplo r 29 mas existe uma maneira de chamar o comando 29, mas não de executá-lo, ou seja, colocá-lo na linha atual que você pode editar antes de executar? Um pouco como pressionar a seta para cima várias vezes? Com uma longa história, é uma dor certa voltar a editar & executar e comando anterior.

Eu sei que posso fazer algo assim para lembrar o texto de um comando:

h 56 | fl

Em seguida, copie & colar, mas com comandos longos em uma linha, você precisa copiar & cole em um editor, junte-se às linhas e copie & cole de volta. Direito faff!

    
por munrobasher 07.03.2014 / 12:38

2 respostas

2

Não é possível encontrar uma maneira de executar o PowerShell dentro do PowerShell, mas você pode executar o executável do PowerShell e passar o comando PowerShell e ele funciona. Pode causar problemas com o escopo, dependendo do que você está fazendo.

& powershell $(h 56).CommandLine
    
por 07.03.2014 / 15:00
2

Não é uma solução Powershell pura, mas você pode canalizá-la para o clip.exe e colá-la no console. Ainda são dois passos, mas sua linha deve ser envolvida corretamente. Se você estiver usando o XP, talvez seja necessário copiar o clip.exe de um sistema Server 2003.

(h 56).CommandLine | clip.exe
    
por 07.03.2014 / 18:34