Comparaison entre 2 fichiers textes
Bonjour,
Je voudrais faire une comparaison entre 2 fichiers textes. J'ai trouvé un script qui effectue très bien cette action. Cependant, la sortie se fait en message box pour chaque différence trouvée.
Je voudrais que l'ensemble du résultat s'écrive dans un nouveau fichier texte.
Pour progresser en script je souhaiterai avoir des indications sur ce qu'il y a à faire mais essayer de trouver la solution par moi-même.
Voici le code de départ :
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
|
Option Explicit
Const ForWriting = 2, ForReading = 1, ForAppending = 8
Dim objFSO, fic1, fic2, fic1_op, fic2_op, fic1_rl, fic2_rl, SortieSansErreur
fic1 = "FICHIER1.TXT"
fic2 = "FICHIER2.TXT"
SortieSansErreur = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set fic1_op = objFSO.OpenTextFile(fic1,ForReading)
Do
fic1_rl = fic1_op.ReadLine
Set fic2_op = objFSO.OpenTextFile(fic2,ForReading)
Do
fic2_rl = fic2_op.ReadLine
Loop Until fic2_op.AtEndOfStream = True Or fic2_rl = fic1_rl
Set fic2_op = Nothing
If Not fic2_rl = fic1_rl Then
WScript.echo "Le nombre " & fic1_rl & " de " & fic1 & " n'a pas été trouvé dans " & fic2
SortieSansErreur = False
End If
Loop Until fic1_op.AtEndOfStream = True 'Or Not fic1_rl = fic2_rl 'Pour sortir de la boucle directement en cas de nombre présent dans fic1 inexistant dans fic2
Set fic1_op = Nothing
'Attention, il n'y a pas de vérification que tous les nombres présents dans fic2 soient effectivement présents dans fic1,
'la comparaison se limite à vérifier que tous les nombres dans fic1 sont bien présents dans fic2 !
If SortieSansErreur Then
WScript.echo "Toutes les lignes de " & fic1 & " sont bien présentes dans " & fic2
Else
WScript.echo "Il y a au-moins une ligne de " & fic1 & " qui n'est pas présente dans " & fic2
End If
Set objFSO = Nothing
WScript.quit |
Merci pour votre aide.