Problemas com o parâmetro Start-Process do Powershell

3

Provavelmente uma pergunta noob total, mas:

Quando eu corro

Start-Process ".\packages\PS-Get.0.1.0.0\NuGet.exe" update -RedirectStandardOutput ".\packages\PS-Get.0.1.0.0\NuGet.exe.Update.log" -RedirectStandardError  ".\packages\PS-Get.0.1.0.0\NuGet.exe.Update.log" -WindowStyle Hidden

Eu recebo o erro

Start-Process : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:14
+ Start-Process <<<<  ".\packages\PS-Get.0.1.0.0\NuGet.exe" update -RedirectStandardOutput ".\packages\
PS-Get.0.1.0.0\NuGet.exe.Update.log" -RedirectStandardError  ".\packages\PS-Get.0.1.0.0\NuGet.exe.Update.log" -WindowStyle Hidden
+ CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.StartProcessCommand

Mas todos:

Start-Process ".\packages\PS-Get.0.1.0.0\NuGet.exe" update -RedirectStandardOutput ".\packages\PS-Get.0.1.0.0\NuGet.exe.Update.log"

Start-Process ".\packages\PS-Get.0.1.0.0\NuGet.exe" update -RedirectStandardError ".\packages\PS-Get.0.1.0.0\NuGet.exe.Update.log"

Start-Process ".\packages\PS-Get.0.1.0.0\NuGet.exe" update -WindowStyle Hidden

Funciona bem ... o que me falta?

    
por JimmyP 09.05.2011 / 09:10

1 resposta

5
Get-Command -syntax Start-Process

fornece duas entradas (quebra automática de manual adicionada e remoção de parâmetros comuns):

Start-Process [-FilePath] <String>
              [[-ArgumentList] <String[]>]
              [-Credential <PSCredential>]
              [-WorkingDirectory <String>]
              [-LoadUserProfile] [-NoNewWindow] [-PassThru]
              [-RedirectStandardError <String>] [-RedirectStandardInput <String>]
              [-RedirectStandardOutput <String>] [-Wait] [-UseNewEnvironment] 

Start-Process [-FilePath] <String>
              [[-ArgumentList] <String[]>]
              [-WorkingDirectory <String>] 
              [-PassThru]
              [-Verb <String>] [-Wait] 
              [-WindowStyle <ProcessWindowStyle>]

Em seus casos de trabalho, especificar -RedirectStandardOutput ou -WindowStyle identifica exclusivamente qual conjunto de parâmetros deve ser usado.

No seu caso não funcional, você tem os dois parâmetros, mas não há um conjunto de parâmetros que tenha ambos, portanto, o PSH não pode selecionar um.

    
por 09.05.2011 / 10:18