2016-08-25 2 views

Antwort

1

Mithilfe von Funktionen und Parametern können wir etwas tun, was ich glaube, was Sie tun.

Eine Funktion Beispiel:

function WriteUser 
{ 
    param($user = "A User", 
    $message = "Message") 
    Write-Host $user 
    Write-Host $message 
} 

die Funktion ohne Parameter aufrufen

WriteUser 

werden Sie den Ausgang geben:

Ein Benutzer

Nachricht

WriteUser -user "Me" -Nachricht "Error"

schreiben würde, die folgenden:

Me

Fehler

Ein paar zusätzliche Hinweise, die Sie tun muss nicht die Parameternamen verwenden.

WriteUser "Bob" "All Systems Go" would work by the order of the parameters. 

Sie können auch die Reihenfolge der genannten Parameter wechseln:

WriteUser -message "Error" -user "user, user" 

und die Funktion wird die auf den richtigen Parameter setzen.

Ansonsten glaube ich, würden Sie etwas zu tun haben ternären Verhalten anzunähern, wie:

function Like-Tern 
{ 
    for ($i = 1; $i -lt $args.Count; $i++) 
    { 
     if ($args[$i] -eq ":") 
     { 
      $coord = $i 
      break 
     } 
    } 

    if ($coord -eq 0) { throw new System.Exception "No operator!" } 
    $toReturn 
    if ($args[$coord - 1] -eq "") 
    { 
     $toReturn = $args[$coord + 1] 
    } 
    else 
    { 
     $toReturn = $args[$coord -1] 
    } 

    return $toReturn 
} 

Credit for the idea here Eine Funktion Datei auch gehören könnte:

Set-Alias ~ Like-Tern -Option AllScope 

Und dann würden Sie es verwenden, wie :

$var = ~ $Value : "Johnny" 

Natürlich ~ war völlig willkürlich, weil ich ${ nicht zum Arbeiten bekommen konnte ...

Verwandte Themen