# [VBS]Zeilen kopieren und ersetzen



## sheen (15. September 2006)

Hallo zusammen,

Ich habe das untenstehende Script, welches mir die Datei test.txt Zeile für Zeile in die neu 
erstellte Datei test2.txt kopiert und die wörter "test" durch "replaced test" ersetzt.
Die Datei sieht so aus:
***************************
ich
bin
ein
test
ich
bin
ein
test
*************************

Code Quell text:
*******************************************************
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Name = FSO.OpenTextFile("C:\Dokumente und Einstellungen\T. Hintermann\Desktop\bla\test.txt")
Set Name2=FSO.CreateTextFile("C:\Dokumente und Einstellungen\T. Hintermann\Desktop\bla\test2.txt")

do until Name.AtEndOfStream
line=Name.readLine
If InStr(line, "test") Then
    line = Replace(line, "test", "replaced test")
End If
Name2.writeLine line
loop
Name.close
Name2.close
******************************************
Ausgabedatei:
******************************************
ich
bin
ein
replaced test
ich
bin
ein
replaced test
***********************************************

Nun möchte ich aber, dass "replaced test" nicht in test2.txt kopiert wird, sondern einfach diese Zeile überspringt.
Mein Coe dazu (der gibt nur eine leere Datei aus):
*************************************************************************************
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Name = FSO.OpenTextFile("C:\Dokumente und Einstellungen\T. Hintermann\Desktop\bla\test.txt")
Set Name2=FSO.CreateTextFile("C:\Dokumente und Einstellungen\T. Hintermann\Desktop\bla\test2.txt")

do until Name.AtEndOfStream
line=Name.readLine
If InStr(line, "test") Then
    line = Replace(line, "test", "replaced test")
    	If line<>"replaced test" Then
         	Name2.writeLine line
         End If
End If
loop
Name.close
Name2.close


Wo mache ich den Denkfehler?


----------



## sheen (15. September 2006)

Mist, ich habs selber gefunden, Die Lösung war:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Name = FSO.OpenTextFile("C:\Dokumente und Einstellungen\T. Hintermann\Desktop\bla\test.txt")
Set Name2=FSO.CreateTextFile("C:\Dokumente und Einstellungen\T. Hintermann\Desktop\bla\test2.txt")

do until Name.AtEndOfStream
line=Name.readLine
If line<>"test" Then
	Name2.writeLine line

End If
loop
Name.close
Name2.close


----------

