Bonjour, j'ai un script qui compare deux fichiers.txt:
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 ?
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
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
Partager