Avatar billede stigaard Nybegynder
11. december 2007 - 16:18 Der er 2 kommentarer og
2 løsninger

Slet linier i tekstfil der indeholder et bestemt ord

Jeg vil gerne fra en vbs-fil kunne slette alle linier som indeholder ordet "admin" i tekstfilen "users_results_temp.txt" og gemme resultatet til en ny fil.
Jeg har i forvejen nedenstående script som finder et bestemt ord og erstatter med et andet. Kan det evt. midificeres til ovenstående opgave?

Dim objFSO
Dim objInputFile
Dim objFile

Const FOR_READING = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInputFile = objFSO.OpenTextFile("users_results_temp.txt", FOR_READING)
Set objFile = objFSO.CreateTextFile("users_results.txt", True)


Do While Not objInputFile.AtEndOfStream
  sCurLine = objInputFile.ReadLine
  CurLine = Replace(sCurLine, "find_dette", "erstat_med_dette")
  objFile.WriteLine sCurLine
Loop

objFile.Close
objInputFile.Close
Set objFile = Nothing
Set objInputFile = Nothing
Avatar billede tjacob Juniormester
11. december 2007 - 16:26 #1
Dit loop skal blot rettes til:

Do While Not objInputFile.AtEndOfStream
  sCurLine = objInputFile.ReadLine
  If InStr(0, sCurLine, "admin", vbTextCompare) = 0 then
    objFile.WriteLine sCurLine
  End IF
Loop

-Skriver kun linien hvis strengen "admin" ikke findes.
Avatar billede stigaard Nybegynder
11. december 2007 - 23:29 #2
Næsten korrekt! "InStr(0" skal være "InStr(1"... alstå:

Do While Not objInputFile.AtEndOfStream
  sCurLine = objInputFile.ReadLine
  If InStr(1, sCurLine, "admin", vbTextCompare) = 0 then
    objFile.WriteLine sCurLine
  End IF
Loop

Men bortset fra det, så må du hellere få nogle point... :-)
Avatar billede tjacob Juniormester
12. december 2007 - 11:13 #3
Nå ja, jeg er blevet for vant til .NET syntaksen hvor alt begynder ved 0. (dog ikke InStr).
Avatar billede stigaard Nybegynder
12. december 2007 - 11:25 #4
Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester