Hallo Gemeinde,
wieder einal bin ich auf Eure Hilfe angewiesen.
Und zwar habe ich ein Script, welches Textzeilen aus einer Datei ausliest und in eine andere gleichen Namens - aber andere Endung schreibt. Diese Script soll alle Dateien des aktuellen Ordners (also ohne spzielle Pfadangabe) durchlaufen. Und zwar werden Textauszüge aus einer .JSP-Datei in eine einfache .HTML-Datei geschrieben.
Mein Script GRABLINESHTML.VBS sieht derzeit wie folgt aus:
Wie kann ich das Script nun vereinfachen, das dies Ganze automatisch erfolgt. Über 120 Dateien mit Hand zu bearbeiten (und es kommen immer neue hinzu ...) ist mir doch etwas zu mühselig.
Ein Ansatz:
Dann müsste aber in der GRABLINESHTML.VBS wohl die Inputbox raus und der Dateiname als Argument übergeben werden.
Aber wie
Vorerst danke ich erst einmal
wieder einal bin ich auf Eure Hilfe angewiesen.
Und zwar habe ich ein Script, welches Textzeilen aus einer Datei ausliest und in eine andere gleichen Namens - aber andere Endung schreibt. Diese Script soll alle Dateien des aktuellen Ordners (also ohne spzielle Pfadangabe) durchlaufen. Und zwar werden Textauszüge aus einer .JSP-Datei in eine einfache .HTML-Datei geschrieben.
Mein Script GRABLINESHTML.VBS sieht derzeit wie folgt aus:
Visual Basic-Quellcode
- inPath=Inputbox("Name der Datei","zu HTML konvertieren","410.jsp")
- outPath=Left(inPath,3) & ".html"
- With CreateObject("Scripting.FileSystemObject")
- Set inFile = .OpenTextFile(inPath)
- Set outFile = .OpenTextFile(outPath, 2, True)
- End With
- outfile.WriteLine "<html><body><table border=1><TH colspan=4><b>"
- Do Until inFile.AtEndOfStream
- line = Trim(inFile.ReadLine)
- If Left(line, 66) = "<tr><td class=firstleft><a class=nowrap name=""zurück1"" href=#" Then
- outFile.WriteLine line
- ElseIf Left(line, 30) = "(Amtlicher Gemeindeschlüssel =" Then
- outFile.WriteLine line & "</b></TH>"
- ElseIf Left(line, 49) = "<tr><td class=firstleft><div class=eingerueckt>mä" Then
- outFile.WriteLine line
- ElseIf Left(line, 48) = "<tr><td class=firstleft><div class=eingerueckt>w" Then
- outFile.WriteLine line
- ElseIf Left(line, 68) = "<tr><td class=firstleft><a class=nowrap name=""zurück2"" href=#2>" Then
- outFile.WriteLine line
- ... ' dazwischen sind noch allerhand ElseIf-Blöcke
- Else If Left(line, 27) = "<tr><td class=firstleft>von" Then
- outFile.WriteLine line
- End if
- End if
- End if
- Loop
- outFile.Writeline "</table></body></html>"
- inFile.Close
- outFile.Close
Wie kann ich das Script nun vereinfachen, das dies Ganze automatisch erfolgt. Über 120 Dateien mit Hand zu bearbeiten (und es kommen immer neue hinzu ...) ist mir doch etwas zu mühselig.
Ein Ansatz:
Visual Basic-Quellcode
- Dim FSO, FLD, FIL, TS
- Dim strFolder, strContent, strPath
- Const ForReading = 1, ForWriting = 2, ForAppending = 8
- 'anpassen auf aktuellen Ordner !
- strFolder = "."
- Set FSO = CreateObject("Scripting.FileSystemObject")
- set FLD = FSO.GetFolder(strFolder)
- For Each Fil In FLD.Files
- Set TS = FSO.OpenTextFile(fil.Path, ForReading)
- strContent = TS.ReadAll
- TS.Close
- Set WSHShell = CreateObject("WScript.Shell")
- WSHShell.Run("GRABLINESHTML.VBS", FIL)
- Set TS = FSO.OpenTextFile(fil.Path, ForWriting)
- TS.Write strContent
- TS.Close
- Next
- Set TS = Nothing
- Set FLD = Nothing
- Set FSO = Nothing
Dann müsste aber in der GRABLINESHTML.VBS wohl die Inputbox raus und der Dateiname als Argument übergeben werden.
Aber wie
Vorerst danke ich erst einmal