cs_simonfr
Messages postés9Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention 8 avril 2006
-
17 juin 2005 à 09:13
cs_Yoyo2B
Messages postés125Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention 6 mars 2008
-
17 juin 2005 à 10:29
bonjour, j'ai un script en vbs tout simple qui recupere la valeur du premier caractere d'un fichier texte
il est lance par un script bat.
si je le lance sans passe par le script bat il marqche niquel suivant
la valeur dans le fichier texte il me renvoie differrent message.
mais si il est lance par le .bat il ne marche pas et je ne sais pas pourkoi.
le plus bizarre est que dans mon script bat je fait la meme operation
sur un fichier texte a une autre endroit et la ca marche parfaitement
alors que la seule chose qui change dans mon script est le nom du
fichier texte .
voila mon code :
Const cForReading = 1
Set objFso = CreateObject("Scripting.FileSystemObject")
Set ts = objFso.OpenTextFile("av.txt", cForReading)
Do While Not ts.AtEndOfStream
CaracToSearch = Mid(ts.ReadLine,1,1)
If CaracToSearch = "1" Then
MsgBox("pas installer")
WScript.Quit (1)
End If
If CaracToSearch = "2" Then
MsgBox("pas a jour")
WScript.Quit (2)
End If
If CaracToSearch = "3" Then
MsgBox("pas actif")
WScript.Quit (3)
End If
If CaracToSearch = "4" Then
MsgBox("cle pas bonne")
WScript.Quit (4)
End If
If CaracToSearch = "5" Then
MsgBox("tout bon")
WScript.Quit (0)
End If
WScript.Quit (7)
Loop
Set ts = nothing
Set objFso = nothing
les msgbox ne sont la que pour les test normalement le script ne fait que renvoier la valeur de WScript.Quit
cs_Yoyo2B
Messages postés125Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention 6 mars 2008 17 juin 2005 à 10:29
met le chemin complet de ton fichier :
c:\av.txt plutot que av.txt
oublie pas de mettre le troisieme argument de opentextfile à false pour pas créer le fichier (sinon, vérifie que tu a les autorisations pour le faire) et vérifie avant tout la présence du fichier
If Fso.FileExist(path) =true then
ou tout simplement
if DIr(path) <> "" then
avant le Set ts = nothing
, si tu a ouvert le fichier, ... n'oublie pas de le fermer
ts.close()
mais c bien de penser à décharger les variable :-)
et pour ton code, si c juste des quit a chaque fois, utilise plutot
select case CaracToSearch
case "1","2","3","4"
WScript.Quit (cint(CaracToSearch ))
case "5"
WScript.Quit(0)
end select
et si tu veux tes msg box, crée un tableau
dim Tab(4)
Tab = array ("tout bon","pas installer","pas a jour","pas actif","cle pas bonne")
et tu met juste
msgbox Tab(cint(CaracToSearch )) ds ton select case