Ecriture fichier ligne par ligne, lancement impossible
Bonjour,
Dans un vbs que j'ai fais, je voudrai qu'il puissent écrire des fichiers. A ce niveau là tout va bien. Seulement, j'aurais voulu que ces fichiers puissent être lancer, mais là impossible il ne veut pas ce lancer.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| '------------------------------------------------------------------------------------------------
Sub Ecriture_Fichier ( Nom_fichier,nombre_lignes,Fichier_Ecriture )
Dim fso, fichier, i, Verification
Set fso = CreateObject("Scripting.FileSystemObject")
Set fichier = fso.OpenTextFile(Nom_fichier, ForWriting, True)
i = 0
Do while i < nombre_lignes
i = i+1
If Not i = nombre_lignes Then
fichier.Write Fichier_Ecriture(i) & vbCr
Else
fichier.Write Fichier_Ecriture(i)
End If
Veille 500,0
Loop
fichier.Close
End Sub
'------------------------------------------------------------------------------------------------
Sub Ecriture_Fichier_Mode_Msdos ( Nom_fichier,nombre_lignes,Fichier_Ecriture )
Dim i,Commande_msdos
i = 0
Do while i < nombre_lignes
i = i+1
If Not Fichier_Ecriture(i) = "" Then
Commande_msdos = "echo " & Fichier_Ecriture(i) & " >> " & Nom_fichier
Executer_commande_msdos Commande_msdos
End If
Loop
End Sub
'------------------------------------------------------------------------------------------------ |
J'ai donc essayer plusieurs truc, comme écrire le fichier à la manière ms-dos.
Par ce que en fait, ça marche très bien, il arrive bien à écrire chaque ligne, mais si je lance ce fichier, il ne marche pas comme il est sensé le faire. Pourtant, si je le réenregistre avec n'importe quel logiciel, il fonctionne cette fois. J'ai essayer de ralentir la copie pour être sûr que ça ce passe bien, mais ça marche pas, je sais pas d'où ça viens. Pourtant, je referme bien les fichier après avoir écrit.
ps: Même si je lance manuellement le fichier copie, il ne marche pas.
ps: Pour des copie en .vbs ou .bat j'ai tester.
Quelqu'un aurrais une idée de mon problème?
peut être un problème de compréhension de caractères...
Salut Fragios,
La première idée qui me vient à l'esprit concerne les caractères d'espacement et de retour chariot... Etant donné que tu ne nous donne pas le log d'erreur de lancement du fichier je ne peux jurer de rien évidemment :D. Le fait que cela marche avec les autres logiciels (à syntaxe équivalente) me laisse supposer que l'encodage des dits caractères peut poser problème.
Alors, au cas où, tu peux toujours essayer d'utiliser les constantes vb :
vbCr --> retour de charriot
vbCrLf --> retour de chariot plus saut de ligne
vbLf --> Saut de ligne
vbNullChar --> Caractère ayant la valeur 0
vbTab --> Tabulation horizontale
Et il en existe d'autres...
Bon courage à toi !
-M@rc0-