30. august 2005 - 13:36Der er
6 kommentarer og 1 løsning
Sammenlign to filer.
Jeg skal have sammenlignet linierne i to filer.
Dvs, der er en reference fil der indeholder nogle fil navne. Og så har jeg en anden fil, der måske kun indeholder nogle af de samme filnavne som reference filen.
Det scriptet så skal gøre, er at fjerne de linier fra reference filen, som eksisterer i den anden fil. Så til sidst ender jeg op med en ny reference fil der indeholder de manglende filer, eller manglende linier, som ikke er i den anden fil.
Du skal bruge FSO (FileSystemObject) til at indlæse filerne med, så skal du lægge dem i to strenge som du så splitter op ved linieskift så du får arrays ud af det. Derefter kan du gennemløb den ene array og sammenligne hvert element med hvert element i det andet array. Når du finder et element som er ens, flytter du det sidste element fra referencelisten ned på det fundne elements plads. På denne måde får du samlet alle filnavnene i starten af listen og kan dermed hugge resten af listen af inden du gemmer...
for refIdx = 0 to ubound(arrRef) newIdx = 0 do while newIdx < ubound(arrNew) if arrRef(refIdx) = arrNew(newIdx) then arrRef(refIdx) = arrRef(maxRef) arrRef(maxRef) = "" maxRef = maxRef - 1 exit do end if newIdx = newIdx + 1 loop next
redim preserve arrRef(maxRef)
set strmRef = fso.OpenTextFile("ref.txt",2,true) strmRef.Write(Join(arrRef, vbCrLf)) strmRef.Close set fso = nothing
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.