[PS1] wscript.arguments.named.exists en Powershell
Sur le technet, il est dit, qu'il n'existe pas d'équivalence en Powershell à wscript.arguments.named.exists... bah si en fait:
Par l'exemple:
en vbscript, si vous voulez faire un script avec un paramètre simple.
Comme /install et /uninstall.
Il suffit de faire:
if wscript.arguments.named.exists("install") then
<action pour install>
elseif wscript.arguments.named.exists("uninstall") then
<action pour uninstall>
end if
stricto sensu, oui, le technet n'est pas tord, c'est vrai, il n'existe pas de fonction powersell
qui serait de la forme $arguments.named.exists("install").
Mais, il existe une solution:
vous déclarez vous arguments comme faux dès le début avec une déclaration [switch]:
|
|
puis dans votre script, vous analysez qu'ils éxistent ou non:
if ($)
{<action pour >}
<...>
Et voilà, l'équivalence de wscript.arguments.named.exists, est possible:
+
----------------------------
C'est ma solution, elle fonctionne avec plusieurs arguments.
Par contre, il ne s'agit pas d'argument en [string], il n'accepte pas de valeur.
mais c'est toujours mieux (et plus propre) d'écrire:
"toto.ps1 -install" ou
que
/image%2F0881799%2F20140610%2Fob_a8c7fe_logo2.jpg)
Commenter cet article