Bonjour,
Novice, je souhaiterais enregistrer dans un fichier.txt, le contenu de tous les fichiers .xml d'un répertoire.
Merci de bien vouloir me donner un coup de mains.
Bonjour,
Novice, je souhaiterais enregistrer dans un fichier.txt, le contenu de tous les fichiers .xml d'un répertoire.
Merci de bien vouloir me donner un coup de mains.
Bonjour,
Voila, j'ai plusieurs fichiers XML, et je desirerais les ajouter les uns a la suite des autres dans un gros fichier texte.
Merci et bonne journée.
Salut.
La démarche à suivre est :
- ouvrir (créer) ton fichier txt en écriture
- parcourir ton dossier :
- pour chaque fichier de type xml :
- ouvrir le fichier xml en lecture- fermer le fichier txt
- copier le contenu dans le fichier txt
- fermer le fichier xml ouvert
tu trouveras toutes les informations dont tu as besoin pour faire ces actions dans la FAQ vbs, que tu ferais bien de parcourir, car c'est très pratique quand on débute le vbs.
Bon courage
Merci pour la demarche,
Je pensais a faire comme cela, j'ai fais ce bout de code, mais il ne me rammene pas le fichier XML dans mon txt.
Pouvez vous m'aider merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 '**************************************************************************************************** '**** DECLARATION DES FONCTIONS ***** '**** ***** '**************************************************************************************************** '---------------------------------------------------------------------------------------- 'Fonction permettant de créer le fichier Fichier_toto.txt contenant tous les fichiers xml - '---------------------------------------------------------------------------------------- function creation_toto_txt() entete = "<?xml version="+chr(34)+"1.0"+chr(34)+" encoding="+chr(34)+"UTF-8"+chr(34)+" ?>" Dim fso, tf, f2 Const ForWriting = 2, ForReading = 1, ForAppending = 8 Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FileExists("D:\Développement\CONCATENATION\ESSAI\Fichier_toto.txt")) Then fso.DeleteFile("D:\Développement\CONCATENATION\ESSAI\Fichier_toto.txt") End if Set tf = fso.CreateTextFile("D:\Développement\CONCATENATION\ESSAI" & "\Fichier_toto.txt", ForAppending, True) tf.WriteLine(entete) tf.WriteBlankLines(1) tf.WriteLine("<root>") Set f = fso.GetFolder("D:\Développement\CONCATENATION\ESSAI") Set fc = f.Files For Each f1 in fc Set f2 = fso.OpenTextFile("f1.xml" , ForReading, true) while Not f2.AtEndOfStream line1 = f2.ReadLine tf.Write(line1 & chr(13)) Wend f2.Close Next tf.WriteLine("</root>") tf.Close End function '**************************************************************************************************** '**** DEBUT DU PROCESSUS ***** '**** ***** '**************************************************************************************************** ''---------------------------------------------------------------------------------------- 'Fonction permettant de créer le fichier Fichier_toto.txt contenant tous les fichiers xml - '---------------------------------------------------------------------------------------- creation_toto_txt wscript.sleep(60000) '**************************************************************************************************** '**** FIN DU PROCESSUS ***** '**** ***** '****************************************************************************************************![]()
ok ben t'es déjà sur le bon chemin.
Alors je vois 2 choses dans ton code (après lecture):
- La méthode CreateTextFile de l'objet FileSystemObject ne prend pas de paramètre "ForAppending" : il est forcément ouvert en écriture. De plus, si tu mets le paramètre "overwrite" à True, ton test de présence du fichier avec suppression s'il existe ne sert à rien(si tu comprend pas, regarde la doc sur cette méthode). Ca devrait ressembler à :
- Ensuite voilà le bout de code qui ne doit pas marcher :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set tf = fso.CreateTextFile("D:\Développement\CONCATENATION\ESSAI\Fichier_toto.txt", True)
car la variable f1 est un objet de type fichier, et là toi tu cherche le fichier nommé "f1.xml", qui ne doit pas être le nom de ton fichier. Ce qu'il faut faire, c'est vérifier que le fichier est de type xml, c'est à dire que son nom finit par ".xml" (sert toi de l'attribut Name de l'objet f1 et de la fonction Left de vbs). Ensuite pour ouvrir le fichier sers toi de l'attribut Path de f1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set f2 = fso.OpenTextFile("f1.xml" , ForReading, true)
Je pense que t'en es plus très loin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set f2 = fso.OpenTextFile(f1.Path , ForReading, true)
Bonne continuation
Partager