Windows Scripts
VBScript
Créer et écrire dans un fichier texte (txt)



Pour : Windows


Il existe deux objets pour créer un fichier vide (type txt, log ou autre type d'extension).
Ces deux objets sont "CreateTextFile" et "OpenTextFile", on expliquera au cours de ce tutoriel leur dfférence.
Et on utilisera l'objet "WriteLine" pour insérer des données dans ces fichiers.


On va commencer avec l'objet "CreateTextFile", voici ci-dessous la syntaxe pour créer un fichier.

Syntaxe:

fso.CreateTextFile([nom_et_emplacement_du_fichier_txt],[TRUE/FALSE])
L'option "TRUE" permet d'écraser un ancien fichier portant le même nom et "FALSE" pour ne pas écraser un fichier existant avec le même nom.



Le premier exemple va consister à créer un fichier vide "c:\toto.txt" avec l'objet "CreateTextFile".
Puis on va écrire avec l'objet "WriteLine" dans ce fichier, les données qui se trouve dans les variables "data1" et "data2".
PS: Les phrases en gris clair et qui commence par '*** ne sont là que pour commenter le script VBS.

Exemple:
'*** Préparation de l'environnement
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
FichierTXT = "c:\toto.txt"

'*** Création du fichier texte "c:\toto.txt"
Set NewFichier = fso.CreateTextFile(FichierTXT,TRUE)

'*** Ajout de données dans la variable "data1".
data1 = "Ici les données data1 qui vont être écrite dans le fichier"

'*** Ecriture des données de la variable "data1" dans le fichier texte.
NewFichier.WriteLine(data1)

data2 = "Ici les données data2 qui vont être écrite dans le fichier"
NewFichier.WriteLine(data2)

'*** Destruction des objets
Set fso = Nothing

WScript.Quit

Si vous relancer le script, cela aura pour effet d'écraser l'ancien fichier et d'y écrire les nouvelles données.



Mais comment faire dans le cas de figure où vous voulez cumuler les données dans le fichier à chaque lancement du script.(Comme un fichier ".log")
Pour cela il faut utiliser l'objet "OpenTextFile" afin de cumuler les données dans un fichier.


Syntaxe:
fso.OpenTextFile([nom_et_emplacement_du_fichier_txt], ForAppending, [TRUE/FALSE])
L'argument "ForAppending = 8" permet d'écrire à la suite dans le fichier.
L'option "TRUE" permet d'écraser un ancien fichier portant le même nom et "FALSE" pour ne pas écraser un fichier existant avec le même nom.


Voici le 2ème exemple mais avec l'objet "OpenTextFile", on va donc ajouter dans le fichier "c:\toto.txt" les données qui sont dans la variable "data".
PS: Les phrases en gris clair et qui commence par '*** ne sont là que pour commenter le script VBS.

Exemple:
'*** Préparation de l'environnement
Const ForAppending = 8
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
FichierTXT = "c:\toto.txt"

'*** Création du fichier texte "c:\toto.txt"
Set NewFichier = fso.OpenTextFile(FichierTXT, ForAppending, True)

'*** Ajout de données dans la variable "data".
data = "Ici les données data qui vont être écrite dans le fichier"

'*** Ecriture des données de la variable "data" dans le fichier texte.
NewFichier.WriteLine(data)

'*** Destruction des objets
Set fso = Nothing

WScript.Quit

Relancez plusieurs fois le script ci-dessus et vous pourrez constater que les données vont s'écrire à la suite dans le fichier texte.



Par O.Cédric
Sur www.octetmalin.net

Article publié le:
10/10/2014 23:16





Cette page vous à plus?

Dîtes que vous l'aimez en cliquant sur le bouton Facebook.