Powershell goto-Anweisung-Ersatz

Ich weiß powershell keine goto-Anweisungen. Ich habe eine Anforderung wie folgt:

foreach($x in $xyz)
{
#something works fine
 if($a -eq $b)
 {
  #something works fine
   if($c -eq $d)
   {
    $c | Add-Content "path\text.txt"
   }else
   {
    #Here I need to go to the first if statement, rather than going to foreach loop
   }
 }else
 {
  #nothing
 }
}

Versucht haben, zu brechen :---- und Funktionen, die aber beide nicht scheint zu funktionieren in meinem Fall. Wenn ich brechen : - - - - es benachrichtigt einen Fehler in der letzten anderen. Wenn ich versuche, verwenden Sie die Funktion wie folgt:

foreach($x in $xyz)
{
 #something works fine
  function xyz
  {
   if($a -eq $b)
   {
    #something works fine
    if($c -eq $d)
    {
     $c | Add-Content "path\text.txt"
    }else
    {
     xyz
    }
   }else
   {
    #nothing
   }
  }
 }

ist es nicht der Eingabe in der Funktion xyz.

Irgendwelche anderen Vorschläge, dies zu erreichen.? Jede Hilfe wäre wirklich zu schätzen.

Sie müssen zu Beginn der Auswertung von Bedingungen, wieder beginnend mit dem ersten if Erklärung, sondern bleiben mit der aktuellen loop-variable?
Funktionen werden nicht aufgerufen, wenn definiert Sie genannt werden, wenn Sie aufgerufen. Ihren zweiten Versuch ruft nie die innere Funktion. Fügen Sie einen Aufruf der Schleife und es wird funktionieren (und ist möglicherweise die richtige Lösung hier). Ich würde verschieben die definition der Funktion aus der Schleife, obwohl.
Ja, denn ich bin immer ein Wert von foreach und ich brauche, um zu validieren, dass der Wert in der for-Schleife. Derzeit, wenn es geht um anderes, das nächste mal wird es ein neuer Wert von foreach. "Fügen Sie einen Aufruf der Schleife und es wird funktionieren" - Können Sie mich bitte.?
Was machst du in deiner else - block, der den Wert ändern können, in einer Weise, die Sie benötigen, um re-zu validieren, vor allem, wenn Sie bereits ausgefallen und mindestens eine Validierung Schritt)? Rufen Sie die neue Funktion in der Schleife. Die gleiche Weise, die Sie, rufen Sie eine andere powershell-Funktion. Jetzt sind Sie gerade auf der Definition der Funktion aber nie nennen.

InformationsquelleAutor serverstackqns | 2015-07-27

Schreibe einen Kommentar