Eu tenho usado o Blender recentemente, mas parece que alguns erros são impressos apenas no console. Se eu abrir manualmente o PowerShell e executar o Blender a partir dele, ele funcionará bem e posso ler as mensagens de erro. No entanto, gostaria de alterar meu atalho para fazer isso por mim.
Basicamente, estou tentando executar um comando arbitrário no PowerShell, a partir de um atalho. Encontrei esta pergunta que não ajudou; Eu tentei colocá-los na seção "Destino", sem sucesso:
powershell "C:\Program Files\Blender Foundation\Blender\blender.exe"
powershell Invoke-Expression "C:\Program Files\Blender Foundation\Blender\blender.exe"
Invoke-Expression "C:\Program Files\Blender Foundation\Blender\blender.exe"
Os dois primeiros pop abrem uma janela de comando preta por um momento que desaparece imediatamente e também powershell
é substituída C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
quando eu clico em "Aplicar", mas pensei em incluir a versão abreviada aqui.
O terceiro diz "O nome 'Invoke-Expression' especificado na caixa Target não é válido.".
Eu também me deparei com essa pergunta , então tentei adicionar -NoExit -Command
:
powershell -NoExit -Command "C:\Program Files\Blender Foundation\Blender\blender.exe"
Isso abre uma janela com a mensagem C:\Program : The term 'C:\Program' is not recognized as the name of a cmdlet, function, script file, or operable program
. Acho estranho ele ficar preso no espaço mesmo eu citando o caminho. Eu também tentei usar um conjunto de aspas simples também:
powershell -NoExit -Command '"C:\Program Files\Blender Foundation\Blender\blender.exe"'
powershell -NoExit -Command "'C:\Program Files\Blender Foundation\Blender\blender.exe'"
Isso apenas resulta em uma janela do PowerShell aberta em um prompt de comando, imprimindo o comando que eu desejava executar em vez de realmente executá-lo:
C:\Program Files\Blender Foundation\Blender\blender.exe
PS C:\Program Files\Blender Foundation\Blender>
Como executo um comando/executável no PowerShell a partir de um atalho?
Você pode usar a seguinte sintaxe:
Start-Process executa um programa, retornando o objeto de processo da aplicação. Ele permite que você controle a ação em um arquivo e controle o ambiente no qual o aplicativo é executado. Você também tem a capacidade de aguardar o término do processo e se inscrever no evento Exited do processo.
Para que o PowerShell use o console para saída, adicione à
Start-Process
chamada o parâmetro de-NoNewWindow
, definido como: "Iniciar o novo processo na janela do console atual. Por padrão, o PowerShell abre uma nova janela."Para obter mais opções, consulte o artigo da TechNet PowerShell: Running Executables .