Pregunta

Estoy trabajando con PowerShell 2.0 con 1.4 Psake

Aquí está el DOS comando que se está ejecutando que quiero convertir a PowerShell.

"C:\Program Files\Borland\StarTeam 2005 R2\stcmd.exe" co -p "rubble.barney:dinno@HostName:4455/MySolution/WebApp" -is  -fp "D:\FooBar\MySolution\Source"

Tenga en cuenta que la ruta de acceso a STCMD tiene un espacio en él
Tenga en cuenta que hay una: entre Barney: Dinno
Advertencia Hay zona de tres cadenas entre comillas.

Aquí están mis propiedades del script y notas

$ AppName = "MySolution"
$ StarExe = "C: \ Archivos de programa \ Borland \ StarTeam 2005 R2 \ stcmd.exe"
$ StarProject = "rubble.barney: Dinno @ hostname: 4455 / $ AppName / aplicación web"
$ StarOutDir = "D: \ FooBar \ $ AppName \ Source"
$ StarCommand = "" "$ StarExe" "co -p "" $ StarProject "", es -nologo -q -fp "" $ StarOutDir """

predeterminado tarea -depends getSource

tarea Init {
"Trabajo sobre $ AppName"
$ = ErrorActionPreference de búsqueda: 'Stop' }

tarea getSource -depends Init {
'Obtener Soure De Star Team'
  correcta de utilizar invocación? ¿Debería ser y, o exec {}
Invoke-elemento $ StarCommand }

Cualquier ayuda sería impresionante.

¿Fue útil?

Solución

Trate:

& $starexe co -p $StarProject -is -nologo -q -fp $StarOutDir

supongo que está utilizando PowerShell 2.0. La versión 1.0 de PowerShell tenían comando * análisis de argumentos manera más peculiares nativa.

  • comandos nativos = exe, com, bat, etc.

-Oisin

Otros consejos

Prueba esto:

& $StarExe co -p $StarProject -is -nologo -q -fp $StarOutDir

exención de responsabilidad: No he utilizar psake pero no estoy seguro de por qué necesita tantas comillas dobles alrededor de las variables. Fwiw el comando anterior debería funcionar si se ejecuta en una secuencia de comandos de PowerShell.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top