const FOLDER1 = „c:\temp\f1“
const FOLDER2 = „c:\temp\f2“
const LOG_FILE = „c:\temp\output.log“
fsoLog = CreateObject („Scripting.FileSystemObject“) einstellen
objLog = fsoLog.CreateTextFile (LOG_FILE, 2) einstellen
Dateinamen, compFileName verdunkeln
strComputer = „.“
objWMIService = GetObject einstellen („winmgmts: {impersonationLevel=impersonate}! \ \“ u. strComputer u. „\ Wurzel \ cimv2“)
FileList = objWMIService.ExecQuery („ASSOCIATORS VON {Win32_Directory.Name='" u. FOLDER1 u. „'} einstellen wo ResultClass = CIM_DataFile“)
Für jedes objFile in FileList
Wenn objFile.Extension = „csv“ dann
Dateiname = objFile.Drive u. objFile.Path u. objFile.FileName u. „.“ u. „csv“
compFileName = FOLDER2 u. „\“ u. objFile.FileName u. „.“ u. „csv“
wenn IsFileExists (compFileName) dann
CompareCsvFile Dateiname, compFileName
beenden wenn
Beenden wenn
Zunächst
objLog.Close
objLog einstellen = nichts
fsoLog einstellen = nichts
Funktion IsFileExists (Dateiname)
SCHWACHES fso
Fso = CreateObject („Scripting.FileSystemObject“) einstellen
Wenn (fso.FileExists (Dateiname)) Dann
IsFileExists=true
Sonst
IsFileExists=false
Beenden wenn
Funktion beenden
sub CompareCsvFile (Dateiname, compFileName)
Rumpfstation, objTextFile, data1, data2 verdunkeln
einstellen Rumpfstation = CreateObject („Scripting.FileSystemObject“)
arrStr, col_values1, col_values2, arr1, arr2 verdunkeln
objTextFile einstellen = fs.OpenTextFile (Dateiname)
'Daten der Spalte 5 von der ersten csv Akte lesen
Tun während NICHT objTextFile.AtEndOfStream
arrStr = spaltete auf sich (objTextFile.ReadLine, „, ")
wenn UBound (arrStr) < 4="" then="" outputLogResult="" fileName=""> UBound (arr2) dann
outputLogResult Dateiname, compFileName, falsch
Unterseeboot herausnehmen
beenden wenn
Für Zählimpuls = 0 zu UBound (arr1)
'überprüfen, ob Daten identisch sind
data1=arr1 (Zählimpuls)
data2=arr2 (Zählimpuls)
wenn data1 <> data2 dann
outputLogResult Dateiname, compFileName, falsch
Unterseeboot herausnehmen
beenden wenn
Zunächst
gesetztes objTextFile = nichts
einstellen Rumpfstation = nichts
outputLogResult Dateiname, compFileName, zutreffend
Endenunterseeboot
VoroutputLogResult (Dateiname, compFileName, Resultat)
wenn Resultat = dann ausrichten
objLog.WriteLine „identische Akten: “
sonst
objLog.WriteLine „Unidentical Akten: “
beenden wenn
objLog.WriteLine Dateiname
objLog.WriteLine compFileName
objLog.WriteLine
Endenunterseeboot
|