Voici une petite fonction qui permet, entre autre, de lire des options passées en ligne de commande:
Code : Tout sélectionner
Func OptArgs($args, $opt, $default)
$arraySize = UBound($args)
If $arraySize <= 0 Then
Return $default
EndIf
For $i = 0 to $arraySize-1
If StringRegExp($args[$i], "^[-/]"&$opt&"$") Then
Return True
EndIf
If StringRegExp($args[$i], "^[-/]"&$opt&"[:=]") Then
Return StringRegExpReplace($args[$i],"^[-/]"&$opt&"[:=]","")
EndIf
Next
Return $default
EndFunc
La fonction va détecter soit la présence d'un paramètre, soit sa valeur. Si le paramètre est présent sans valeur, la fonction retourne 'true'. Si le paramètre est présent avec une valeur, la fonction retourne la valeur. Si le paramètre n'est pas présent, la fonction retourne $default.
Exemple: On lance son script avec les options comme ceci:
Code : Tout sélectionner
monscript /a /b=paramb /c:paramc
Code : Tout sélectionner
...
$a = OptArgs($CmdLine, "a", false)
;"/a" est présent sans valeur, la fonction retourne 'true'
$b = OptArgs($CmdLine, "b", "undef")
;"/b" est présent avec la valeur "paramb", c'est cette valeur qui sera retournée
$c = OptArgs($CmdLine, "b", "undef")
;"/c" est présent avec la valeur "paramc", c'est cette valeur qui sera retournée
$d = OptArgs($CmdLine, "d", "undef")
;"/d" est absent, la fonction retournera "undef"
...
Bonne journée à tous