PowerShell - comment compter le nombre d'arguments
Je suis en train d'écrire une .ps1 script PowerShell, et je me demandais comment je pourrais trouver le nombre d'arguments de l'utilisateur est passé. Par exemple, j'ai besoin de mon programme pour gérer la vérification d'une chaîne de caractères dans plusieurs fichiers. Ainsi l'utilisateur doit être en mesure de taper dans
./Script "a" ex1.txt
ou
./Script "a" ex1.txt ex2.txt
Je sais que dans Bash, nous pouvons utiliser $#
, mais comment puis-je vérifier en PowerShell?
OriginalL'auteur user2569803 | 2014-03-18
Vous devez vous connecter pour publier un commentaire.
Au sein d'un script ou d'une fonction, vous pouvez accéder à la arguments qui sont passées par l'remplies automatiquement
$args
variable. Le$args
est un tableau, donc vous pouvez trouver le nombre d'arguments transmis par l'intermédiaire de sonCount
propriété.Un exemple:
Appel
PrintArgs
:OriginalL'auteur Peter
Lire par le biais de quelques fichiers d'aide si vous avez le temps; ils sont généralement très utile!
Notes de l'aide qui devrait vous aider:
Si vous vous retrouvez à l'aide de deux paramètres liés et déliés arguments, vous pouvez combiner les deux (exemple)
Légèrement hors sujet:
Je recommande fortement contre l'utilisation de $args. Vous devriez toujours utiliser des paramètres liés, il y a très peu de cas, lorsque vous êtes forcé à ne pas les utiliser.
Pourquoi? Toutes les fonctions qui prennent des paramètres devraient suivre les meilleures pratiques et l'utilisation du param() bloc de paramètres. Si vous lisez sur paramètres dans les fichiers d'aide, vous trouverez que l'utilisation du bloc param vous donne toutes sortes de fonctionnalités utiles, comme la validation, forçant obligatoire params, en acceptant pipeline d'entrée, etc. Il est également nécessaire avant de vous laisser PowerShell faire encore plus de travail pour vous avec [cmdletbinding()]
Cheers!
OriginalL'auteur Cookie Monster
Vous utiliser le construit en
$Args
et la propriétéCount
.Qui vous donnera le nombre d'arguments à l'utilisateur passés au script.
OriginalL'auteur TheMadTechnician