Ayant un paramètre facultatif qui nécessite un autre paramètre à présent
Tout simplement, comment initialiser le params
partie de mon Script Powershell pour que je puisse avoir une ligne de commande arguments comme
Get-Foo [-foo1] <foo1Arg> [-foo2 <foo2Arg> [-bar <barArg>]]
Donc le seul moment où je peux utiliser -bar
est quand foo2
a ben défini.
Si -bar
ne dépend pas de la -foo2
je pouvais juste faire
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[string]$foo1,
[string]$foo2,
[string]$bar
)
Cependant, je ne sais pas quoi faire pour que de paramètre dépendant.
Découvrez cette question: stackoverflow.com/questions/10748978/...
OriginalL'auteur Scott Chamberlain | 2012-06-21
Vous devez vous connecter pour publier un commentaire.
Ma lecture de la question d'origine est légèrement différente de la C. B. est. De
Le premier argument $toto1 est toujours obligatoire, alors que si $bar est spécifié $foo2 doit être spécifié.
Donc mon codage peut être de mettre $toto1 dans les deux jeux de paramètres.
Vous obtenez alors la sortie suivante s'affiche lorsque vous exécutez la ci-dessus.
OriginalL'auteur Ian Jespersen
Vous avez besoin ParameterSet, lire ici pour en savoir plus à ce sujet:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd878348(v=vs. 85).aspx
http://blogs.technet.com/b/heyscriptingguy/archive/2011/06/30/use-parameter-sets-to-simplify-powershell-commands.aspx
L'exemple de code:
-foo2
être spécifié afin de spécifier-bar
, mais il ne vous permet pas de spécifier-foo2
en plus de-foo1
depuis qu'ils sont dans différents jeux de paramètres.OriginalL'auteur CB.