Passar argumento para o subprocesso do powershell, que é em si um sinalizador

0
start-process npm -verb runas -args @("install", "-g", "coffee-script")

Esta é a maneira mais direta de passar argumentos para um subprocesso? Parece bastante detalhado!

    
por George Simms 30.08.2015 / 15:23

1 resposta

1

Bem, o PowerShell é detalhado por natureza e é bom - torna o código mais fácil de entender.

Seu exemplo pode ser reduzido usando aliases e nomes curtos de parâmetros:

start npm -verb runas -a 'install', '-g', 'coffee-script'

Se você não precisar de Runas verb, poderá ser ainda mais curto:

&'npm' 'install', '-g', 'coffee-script'

Se você estiver usando o PowerShell v3, há um novo recurso de idioma que simplifica muito isso. Em vez de ter que contornar com escape e citando parâmetros para evitar o analisador do PowerShell, agora você pode usar o operador --% que informa ao PowerShell para parar a análise desse ponto em diante até o final da linha:

&'npm' --% install -g coffee-script

Referências:

por 31.08.2015 / 15:45