Ich verwende C# und PowerShell, um Git-Befehle zu automatisieren und viele Repositorys zu synchronisieren. Ich habe zwei Möglichkeiten zum Ausführen von Powershell-Befehlen gefunden:
- PowerShell.AddScript();
- PowerShell.AddCommand();
Allerdings gibt es in der Dokumentation nur sehr wenige Informationen darüber, was genau der Unterschied zwischen den beiden Methoden ist. Ich habe unten zwei Beispiele mit jeder der beiden Methoden erstellt:
PowerShell-Befehle mit AddScript() ausführen:
Code: Select all
using (PowerShell powershell = PowerShell.Create())
{
powershell.AddScript(@"git pull");
var result powershell.Invoke();
}
PowerShell-Befehle mit AddCommand() ausführen:
Code: Select all
using (PowerShell powershell = PowerShell.Create())
{
var command = new PSCommand();
command.AddStatement().AddCommand("git").AddArgument("pull");
powershell.Commands = command;
var result = powershell.Invoke();
}
Beide Beispiele funktionieren wie erwartet, aber ich würde gerne wissen, was der Unterschied zwischen AddScript() und Addcommand() ist. Wann würde ich eine Methode der anderen vorziehen? Gibt es Vor-/Nachteile bei der Verwendung eines gegenüber dem anderen?