PowerShell - how, um die Anzahl der Argumente
Schreibe ich ein .ps1 PowerShell-Skript, und ich Frage mich, wie würde ich herausfinden, wie viele Argumente, die der Anwender übergeben. Zum Beispiel, ich brauche mein Programm behandeln die überprüfung einer Zeichenfolge in mehreren Dateien. So sollte der Benutzer in der Lage sein zu geben
./Script "a" ex1.txt
oder
./Script "a" ex1.txt ex2.txt
Weiß ich in der Bash können wir verwenden $#
, aber wie überprüfe ich in der PowerShell?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Innerhalb eines Skripts oder einer Funktion, können Sie den Zugriff auf die übergebenen Argumente über den automatisch aufgefüllten
$args
variable. Die$args
ist ein array, so kann man die Anzahl der übergebenen Argumente über seineCount
Eigenschaft.Beispiel:
Aufrufen
PrintArgs
:Lesen Sie über ein paar Hilfe-Dateien wenn Sie Zeit haben; Sie sind in der Regel sehr hilfreich!!!
Hinweise aus der Hilfe, die Ihnen helfen sollten:
Wenn Sie am Ende mit beide Parameter gebunden und ungebunden Argumente, können Sie kombinieren die zwei (Beispiel)
Leicht off-topic:
Ich empfehle gegen die Verwendung von $args. Sie sollten immer mit gebundenen Parametern, es gibt sehr wenige Fälle, wenn Sie gezwungen sind, Sie zu nutzen.
Warum? Alle Funktionen, die Parameter übernehmen, sollten die empfohlenen Vorgehensweisen befolgen und verwenden Sie die param () - block für Ihre Parameter. Wenn Sie Lesen, auf die Parameter in der Hilfe-Dateien, werden Sie feststellen, dass die Verwendung der param-block ermöglicht Ihnen, alle Arten von hilfreichen Funktionen, wie Validierung, zwingen, zwingend, params, Annahme-pipeline input, etc. Es ist auch erforderlich, bevor Sie lassen Sie PowerShell noch mehr Arbeit für Sie mit [cmdletbinding()]
Prost!
Verwenden Sie die integrierte in
$Args
und die EigenschaftCount
für Sie.Geben Sie an, wie viele Argumente, die der Anwender an das Skript übergeben.