Bem, você sempre pode colocar uma tag de comentário antes do comando assim:
#Get-ChildItem
E quando estiver pronto para executar, vá até o comando Home e Del , então Digite para executar.
Em Powershell, existe uma maneira, após digitar um comando longo ou complicado, de cometer esse comando no buffer de histórico, mas não executá-lo?
Por exemplo, você começa a digitar um commit do git, dentro do posh-git: directory:
git commit -m "Added the library 'ASDF' and did some initial integration into the project" [pause]
E bem, quando você digita isso, eu estou pensando ... Uh, eu preciso fazer algo primeiro, como adicionar um arquivo adicional para confirmar fazer outra coisa primeiro, ou criar um diretório ou algo assim (situação inventada, eu Perceba que o Powershell vai criá-lo automaticamente e eu percebo que o git pode "alterar o commit".) Então, eu gostaria de salvar essa mensagem de commit em um buffer de histórico, mas sem executá-lo, para ser lembrado mais tarde, ou fazer algo antes.
De acordo com este artigo, as teclas de atalho do Windows PowerShell: link não aparecem para ser um toque de tecla para fazer isso.
Tecla ESC (e Ctrl + C) cancelará o comando e apagará ... O que eu preciso é salvar no histórico, para ser executado mais tarde, preservando assim minha digitação. Existe uma tecla para isso?
Bem, você sempre pode colocar uma tag de comentário antes do comando assim:
#Get-ChildItem
E quando estiver pronto para executar, vá até o comando Home e Del , então Digite para executar.
Muitos dos comandos suportam um parâmetro -whatif
que você pode anexar e remover posteriormente. No entanto, devo dizer que gosto mais da ideia de comentário.
Isso parece funcionar também, depois de alguns jogos com invocação:
$VariableName = "Windows Command"
Então, para executar:
Invoke-Expression "$VariableName"
Um exemplo com o Ping:
TambémconseguiusarasexpressõesdoPowerShelldamesmamaneira:
Basicamente, acredito que o que está acontecendo é que estamos criando uma string para a primeira variável (Exatamente o que parece, direto), e então quando invocamos nossa variável dentro de "" ela força o interpretador a expandir a variável , fazendo com que ele chame o comando certo.PSH:>$Outlooks="Get-Process -Name Outlook -Verbose | fl StartTime, Threads" PS H:> Invoke-Expression "$Outlooks"
Tags command-line powershell