comparer deux fichier .txt
Bonjour, j'ai un script qui compare deux fichiers.txt:
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 59 60 61 62 63 64 65 66 67 68
| set WshShell = WScript.CreateObject("WScript.Shell")
DesktopPath = WSHShell.SpecialFolders("Desktop")
'''''''''''''''''''''''''''''''''''''''''''''''''
' On ouvre la boite de dialogue pour selectionner le fichier à comparer:
set objDialog = CreateObject("SafrcFileDlg.FileOpen")
objDialog.OpenFileOpenDlg
vrFchSlctn = objDialog.FileName
'wscript.echo objDialog.FileName
'''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''
' On copie le fichier
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile vrFchSlctn, "tempComparLignes.tmp"
'''''''''''''''''''''''''''''''''''''''''''''''''
Wscript.echo "On marque une pause le temps de modifier les paramétres manuellement dans votre application" & vbCrLf _
& "Appuyez sur OK quand vous aurez fini"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFile = objFSO.OpenTextFile("tempComparLignes.tmp", 1) ' Fichier originale
Set objSourceFile2 = objFSO.OpenTextFile(vrFchSlctn, 1) 'Fichier copié
vrNumLigne = 0
Do Until objSourceFile.AtEndOfStream Or objSourceFile2.AtEndOfStream
vrNumLigne = vrNumLigne + 1
vrLigne = objSourceFile.ReadLine
vrLigne2 = objSourceFile2.ReadLine
vrComprLign = StrComp(vrLigne, vrLigne2, 1)
If nombre = 1 Or nombre = -1 Or IsNull(vrComprLign) then
vrNul = "Le fichier a été modifier"
vrLignDif = vrLignDif & vrNumLigne & ": " & vrLigne & vbCrLf & vrNumLigne & ": " & vrLigne2 & vbCrLf & vbCrLf
'vrLignDif2 = vrLignDif2 & "Origin " & vrNumLigne & ": " & vrLigne & vbCrLf & "Modif " & vrNumLigne & ": " & vrLigne2 & vbCrLf & vbCrLf
Else
End If
Loop
objSourceFile.Close
objSourceFile2.Close
If IsEmpty(vrNul) Then
Wscript.Echo "Le fichier n'a subi aucune modification"
Else
Wscript.Echo vrLignDif
Const ForReading = 1, ForWriting = 2
Set FichierTXT = WScript.CreateObject("WScript.Shell")
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(DesktopPath & "\Résulta de la comparaison du fichier.txt", ForWriting,true)
f.writeline("Fichier source: " & vrFchSlctn)
f.writeline("")
f.writeline("")
f.writeline(vrLignDif)
f.close
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fsoFile = fso.getFile("tempComparLignes.tmp")
fsoFile.delete |
Mais si la ligne 5 du fichier 1 et pleine, et que la ligne 5 du fichier deux est vide, les script ne voi pas la différence, sauriez vous m'aider a aranger ca ?