PowerShell Parameterliste von Werten

8

Ich habe versucht, nach einer Antwort zu suchen, aber ich denke, dass die Wörter PowerShell und Parameter in einer Reihe von Schlüsselwörtern nicht für eine einfache Suche geeignet sind

Meine Frage ist, ich schreibe eine Funktion, und ich habe einen Parameter angegeben, aber der Parameter muss einer aus einer Liste bestimmter Strings sein.

Gibt es eine Möglichkeit, diese Strings innerhalb des Skripts zu liefern, so dass, wenn ich "myfunction -parameter .." eintippe ich die Tab-Vervollständigung für den Parameterwert verwenden kann?

    
Serge111 08.02.2014, 01:13
quelle

2 Antworten

17

Wenn Sie PowerShell V2 verwenden, können Sie das Attribut [ValidateSet()] verwenden, z. B.:

%Vor%

Siehe Hilfethema durch Ausführen von:

%Vor%     
Keith Hill 08.02.2014, 01:29
quelle
2

Sie können [ValidateSet()] verwenden, wie Keith es demonstriert, aber das funktioniert nicht sehr gut mit einer großen Anzahl von möglichen Werten (das Auffüllen der Liste, wenn Sie Tab drücken, wird sehr langsam). Eine weitere Methode zum Abrufen von Tabulatoren ist das Erstellen einer benutzerdefinierten Enumeration:

Ссылка

und übergeben Sie den Parameter als diesen Aufzählungstyp. Dadurch werden dem Zeichensatz, der in Ihren Strings zulässig ist, einige Einschränkungen auferlegt (im Grunde genommen nur Buchstaben und Zahlen), aber die Tabulatorvervollständigungsliste wird viel schneller aufgefüllt, wenn es sich um eine relativ große Liste von Werten handelt.

    
mjolinor 08.02.2014 14:09
quelle

Tags und Links