2012-05-17 8 views
5

Estoy escribiendo un script de PowerShell que necesita insertar código en varios repositorios git simultáneamente?Iniciar proceso sin bloqueo desde powershell

Aquí está la secuencia de comandos que tengo hasta el momento:

param(
    [parameter(Mandatory=$true)] 
    [string]$repoPath, 
    [parameter(Mandatory=$true)] 
    [array]$remoteRepos 
) 

pushd $repoPath 
$remoteRepos | % { 
    #Want to exexcute this without blocking 
    & git push $_ master --fore -v 
} 
popd 

Aquí es cómo ejecutar el script:

gitdeploy.ps1 -repoPath c:\code\myrepo -remoteRepos repo1,repo2 

Cómo ejecuto el & git push $_ master --fore -v de una manera que es no bloqueante?

SOLUCIÓN

Gracias a @Jamey para la solución. Yo hiero ejecución de este comando:

Start-Process "cmd.exe" "/c git push $_ master --force -v" 

Respuesta

4

También puede utilizar la puesta en proceso de ejecutar cada pulsación en una ventana de comandos adicional.

start-process -FilePath "git" -ArgumentList ("push", $_, "master", "--fore", "-v")