Y
Yoshi90
Guten Tag,
ich hoffe in diesem Forum kann mir weiter geholfen werden.
Zu Anfang muss ich direkt sagen, dass ich ein Anfänger bin was das programmieren angeht.
-> Situationsbeschreibung
--> Problematik
### Situationsbeschreibung ###
Es besteht eine .txt Datei (welche Data.txt in meinem Script genannt wurde(SourceFile)), diese enthält zwei Dateinamen z.B. test1.txt & test2.txt.
Auf diese beiden Datein soll ein Zugriff gestartet werden, und geprüft werden ob das zuvor eingegebene Suchwort bzw Buchstabe enthalten ist.
Sofern dies zutrifft, soll das Programm in der alten Datei das Suchwort bzw. den Buchstaben durch den zuvor eingegebenen Alternativ Text ersetzt werden.
Das Ziel ist es dann eine _result.txt Datei zu erstellen in der die veränderten Werte sowie die alten Werte enthalten sind.
Bsp: Suchwort: Hallo Alternativ Text: Spaß
test1.txt --> hallo test2.txt --> blablabla
blablahallobla hallo
halluuuu bla
Data_result.txt --> test1.txt
Spaß
blablaSpaßbla
halluuu
--> test2.txt
blablabla
Spaß
bla
Ich hoffe die Situationsbeschreibung war einigermaßen verständlich, sollten dennoch Fragen dies bezüglich auftreten werde ich natürlich versuchen es anders zu erläutern
### Problematik ###
Die Problematik besteht darin, die alten Files zu verändern und in EINER (_result.txt) datei wieder auszugeben.
Ich danke vielmals für die Hilfe.
Wünsche einen angenehmen Start in die neue Woche.
---------------------------------------------------------------------------------------------
'On error resume next
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim FileSystem, File, TS
Dim Sourcefile
SourceFile = "h:\Data.txt"
StringOld = Inputbox ("Welcher Text wird gesucht?")
StringNew = Inputbox ("Bitte den Alternativ-Text eingeben")
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Set File = FileSystem.GetFile(SourceFile)
Set TS = File.OpenAsTextStream(ForReading, TristateUseDefault)
Do While TS.AtEndOfStream <> True
StrLine = TS.ReadLine
wscript.echo "Datei --> " & Strline
'Neues File schreiben & Name modulieren
Intposition = inStr(1,Strline,".",1)
BintPosition = inStr(5,Strline,8,1)
wscript.echo Len(Strline)
wscript.echo Intposition
pre = Left(Strline, Intposition-1)
Post = Right(Strline, Intposition-2)
StrDest = pre & "_Result" & post
wscript.echo StrDest
'SET NewStream = Filesystem.CreateTextFile (StrDest)
Set NewStream = Filesystem.CreateTextFile (StrDest,2,True)
IF Err.Number <> 0 THEN errBreak
'Erstellen eines TextStream womit in die Datei geschrieben werden kann
'Set fsodest= Filesystem.CreateTextFile("H:\" & StrDest,True,False)
'File öffnen
Set File = FileSystem.GetFile(StrLine)
Set Datei = File.OpenAsTextStream(ForReading, TristateUseDefault)
Do While Datei.AtEndOfStream <> True
StrDateiLine = Datei.ReadLine
Ausgabe = Ausgabe & StrDateiline & vbcrlf
'Zeile prüfen
Vergleich = instr(1, StrDateiline, StringOld,1)
if Vergleich > 0 Then
NewStream.WriteLine StringNew
Treffer = Treffer + 1
else
end if
Ausgabe = ""
Loop
Ausgabe = ""
'Wenn zutreffend dann File ändern
'Änderung in neuem File wegschreiben
Datei.Close
WScript.Echo "Anzahl der Treffer des Wortes " & "-" & StringOld & "-" & " : " & Treffer
Treffer = 0
Loop
TS.Close
---------------------------------------------------------------------------------------------
ich hoffe in diesem Forum kann mir weiter geholfen werden.
Zu Anfang muss ich direkt sagen, dass ich ein Anfänger bin was das programmieren angeht.
-> Situationsbeschreibung
--> Problematik
### Situationsbeschreibung ###
Es besteht eine .txt Datei (welche Data.txt in meinem Script genannt wurde(SourceFile)), diese enthält zwei Dateinamen z.B. test1.txt & test2.txt.
Auf diese beiden Datein soll ein Zugriff gestartet werden, und geprüft werden ob das zuvor eingegebene Suchwort bzw Buchstabe enthalten ist.
Sofern dies zutrifft, soll das Programm in der alten Datei das Suchwort bzw. den Buchstaben durch den zuvor eingegebenen Alternativ Text ersetzt werden.
Das Ziel ist es dann eine _result.txt Datei zu erstellen in der die veränderten Werte sowie die alten Werte enthalten sind.
Bsp: Suchwort: Hallo Alternativ Text: Spaß
test1.txt --> hallo test2.txt --> blablabla
blablahallobla hallo
halluuuu bla
Data_result.txt --> test1.txt
Spaß
blablaSpaßbla
halluuu
--> test2.txt
blablabla
Spaß
bla
Ich hoffe die Situationsbeschreibung war einigermaßen verständlich, sollten dennoch Fragen dies bezüglich auftreten werde ich natürlich versuchen es anders zu erläutern
### Problematik ###
Die Problematik besteht darin, die alten Files zu verändern und in EINER (_result.txt) datei wieder auszugeben.
Ich danke vielmals für die Hilfe.
Wünsche einen angenehmen Start in die neue Woche.
---------------------------------------------------------------------------------------------
'On error resume next
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim FileSystem, File, TS
Dim Sourcefile
SourceFile = "h:\Data.txt"
StringOld = Inputbox ("Welcher Text wird gesucht?")
StringNew = Inputbox ("Bitte den Alternativ-Text eingeben")
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Set File = FileSystem.GetFile(SourceFile)
Set TS = File.OpenAsTextStream(ForReading, TristateUseDefault)
Do While TS.AtEndOfStream <> True
StrLine = TS.ReadLine
wscript.echo "Datei --> " & Strline
'Neues File schreiben & Name modulieren
Intposition = inStr(1,Strline,".",1)
BintPosition = inStr(5,Strline,8,1)
wscript.echo Len(Strline)
wscript.echo Intposition
pre = Left(Strline, Intposition-1)
Post = Right(Strline, Intposition-2)
StrDest = pre & "_Result" & post
wscript.echo StrDest
'SET NewStream = Filesystem.CreateTextFile (StrDest)
Set NewStream = Filesystem.CreateTextFile (StrDest,2,True)
IF Err.Number <> 0 THEN errBreak
'Erstellen eines TextStream womit in die Datei geschrieben werden kann
'Set fsodest= Filesystem.CreateTextFile("H:\" & StrDest,True,False)
'File öffnen
Set File = FileSystem.GetFile(StrLine)
Set Datei = File.OpenAsTextStream(ForReading, TristateUseDefault)
Do While Datei.AtEndOfStream <> True
StrDateiLine = Datei.ReadLine
Ausgabe = Ausgabe & StrDateiline & vbcrlf
'Zeile prüfen
Vergleich = instr(1, StrDateiline, StringOld,1)
if Vergleich > 0 Then
NewStream.WriteLine StringNew
Treffer = Treffer + 1
else
end if
Ausgabe = ""
Loop
Ausgabe = ""
'Wenn zutreffend dann File ändern
'Änderung in neuem File wegschreiben
Datei.Close
WScript.Echo "Anzahl der Treffer des Wortes " & "-" & StringOld & "-" & " : " & Treffer
Treffer = 0
Loop
TS.Close
---------------------------------------------------------------------------------------------