lunnatick
Messages postés175Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention28 octobre 2013
-
7 mars 2006 à 01:13
lunnatick
Messages postés175Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention28 octobre 2013
-
7 mars 2006 à 23:36
Bonjour, je voudrai pour un vbs tester une variable, s'il elle existe on ne fait rien elle si elle n'éxiste pas on la créer, quelqu'un saurait-il m'aider ?
lunnatick
Messages postés175Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention28 octobre 2013 7 mars 2006 à 01:42
Re, je profite que je suis sur un script VBS pour poser quelque question dans la foulé.
Je suis entrain de faire un VBS qui agira ou bien si on le bouble clique lui même ou bien par un batch, un paramétres lui sera ransmi pas le batch puis placé dans une variable, mais si le VBS et directment double cliquer sans passer par le batch un valeur par défaut dévra petre atribuer à la variable, j'ai trouver quelsue chose:
Set objNetwork = CreateObject("Wscript.Network")
strUser = objNetwork.UserName
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(VarTest) Then
'Wscript.Echo "The folder exists."
Else
VarTest = "Ici le contenu de la variable si elle n'éxiste pas dèjà"
End If
MsgBox VarTest
Sa marche bien comme sa, je crois que j'ai créer se poste pour rien, si j'ai un souci je revien.
lunnatick
Messages postés175Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention28 octobre 2013 7 mars 2006 à 02:21
Me revoila.
Donc je test avec un scrip qui soit récupérer le paramétre dans la variable VarTest, si aucun paramétre n'est transmi au VBS la valeur par desfaut d la variable lui sera atribué:
Set objArgs = WScript.Arguments
For I = 0 to objArgs.Count - 1
VarTest = objArgs(I)
Next
''''''''''''''''''''''''''''''''''''''''''''''''
Set objNetwork = CreateObject("Wscript.Network")
strUser = objNetwork.UserName
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(VarTest) Then
'Wscript.Echo "The folder exists."
Else
VarTest = "Ici le contenu par défaut de la variable si elle n'éxiste pas dèjà"
End If
''''''''''''''''''''''''''''''''''''''''''''''''
MsgBox VarTest
Mais sa ne fonctionne pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 7 mars 2006 à 09:28
Salut.
S'il y a plusieurs paramètres passés, tu ne récupéreras que le dernier
dans varTest (avec ton code tel qu'il est écrit (Boucle For)).
For I = 0 To objArgs.Count - 1
VarTest = objArgs(I)
Next
Ce que tu as fait : Tu parcours tous les elements, et tu les places
dans varTest. Quand le dernier paramètre aura écrasé l'avant dernier,
tu te retrouvera avec le dernier paramètre dans varTest
S'il ne doit y en avoir qu'un seul (au maximum), alors tu dois t'y prendre autrement :
If objArgs.Count > 0 Then
VarTest = objArgs(1)
Else
' Il n'y a pas de paramètre.
VarTest = "Ici le contenu par défaut de la variable si elle n'existe pas dèjà"
End If
Set objNetwork = CreateObject("Wscript.Network")
strUser = objNetwork.UserName
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(VarTest) Then
Wscript.Echo "The folder exists."
Else
Wscript.Echo "Bad parameter. The folder does not exist."
lunnatick
Messages postés175Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention28 octobre 2013 7 mars 2006 à 23:09
Bonsoir, donc l'ai modifier:
Set objArgs = WScript.Arguments
If objArgs.Count > 0 Then
VarTest = objArgs(1)
Else
' Il n'y a pas de paramètre.
VarTest = "Ici le contenu par défaut de la variable si elle n'existe pas dèjà"
End If
Set objNetwork = CreateObject("Wscript.Network")
strUser = objNetwork.UserName
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(VarTest) Then
Wscript.Echo "The folder exists."
Else
Wscript.Echo "Bad parameter. The folder does not exist."
End If
Donc si je double clique directement le vbs le message "Bad parameter. The folder does not exist." est bien afficher, mais si je fait gliqqer un fichier sur le vbs un message d'erreur indique "Indice en dehors de la plage"