2012-05-17 14 views
5

Piszę skrypt powłoki, który musi przesłać kod do kilku repozytoriów git jednocześnie?Uruchomienie procesu nieblokującego z powłoki Shell

Oto skrypt mam dotąd:

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 

Oto jak wykonać skryptu:

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

Jak I wykonanie & git push $_ master --fore -v w sposób, który jest bez blokowania?

ROZWIĄZANIE

Dzięki @Jamey do rozwiązania. I rany wykonaniu tego polecenia:

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

Odpowiedz

4

Można również użyć uruchomieniem procesu uruchomić każdy impuls w dodatkowym oknie poleceń.

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