2012-05-17 6 views
5

Ich schreibe ein Powershell-Skript, das Code an mehrere Git-Repositories gleichzeitig drücken muss?Non-Blocking-Prozess von Powershell starten

Hier ist das Skript, das ich bisher habe:

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 

hier, wie ich das Skript ausführen:

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

Wie führe ich die & git push $_ master --fore -v in einer Weise, die nicht-blockierend ist?

SOLUTION

Dank für die Lösung @Jamey. Ich zog diesen Befehl ausführen:

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

Antwort

4

Sie können auch Start-Prozess verwenden, um jedes Push in einem zusätzlichen Befehlsfenster ausgeführt werden.

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