2012-05-17 16 views
5

Sto scrivendo uno script PowerShell che deve inviare il codice a diversi repository Git contemporaneamente?Avvia il processo non bloccante da PowerShell

Ecco lo script che ho finora:

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 

Ecco come ho eseguire lo script:

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

Come eseguo il & git push $_ master --fore -v in un modo che è non-blocking?

SOLUZIONE

Grazie alla @Jamey per la soluzione. Finii l'esecuzione di questo comando:

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

risposta

4

È inoltre possibile utilizzare start-processo per eseguire ogni spinta in una finestra di comando aggiuntiva.

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