voici le code qui me permet de recuperer les arguments lancer en ligne de commande
Code : Tout sélectionner
; -------------------------------------------------------------------------
; ---------- FONCTIONS --------------------------------------------------
; --------------------------------------------------------------------------
; // script d'identification ligne de commande.
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
et enfin la facon dont je passe mes arguments :; // définition des variables récuperé en ligne de commande
$image = OptArgs($CmdLine, "c", "no_image") ; récupere l'emplacement de l'image
Code : Tout sélectionner
c:\mon script.exe /c={image}
ca fonctionne très bien, si je met un message box pour tester ma variable $image
je vais obtenir par ex : c:\mes images\mon image que je veux voir.jpg
mais mon problème et celui ci
si l'image s'appelle "mon image que je veux voir (2).jpg" alors la variable $image prends la valeur "mon image que je veux voir" donc bien sur ca ne s'affiche pas, la seule facon que j'ai trouver de contourner ce problème et de changer ma facon de passer la variable, mais ca ne me plait pas comme solution, comment optimiser ca ;
avec ca ca marche et j'ai bien "mon image que je veux voir (2).jpg" comme variable $image
la seule difference c'est les " qui entoure {image}
Code : Tout sélectionner
c:\mon script.exe /c=[b]"[/b]{image}[b]"[/b]



