# VBScript: Textdatei Zeilenweise auslesen



## PAHO (13. Juni 2004)

Hallo,

erst mal vorweg, bin absoluter Anfänger und kenne mich sogut wie überhaupt nicht aus mit den VBS Befehlen.
Ich brauche das Script für ein anderes Programm das mir durch das Script die Werte zur verfügung stellt die wiederum ein anderes Programm rausschickt.

Hier mal mein Code (wurde teils von fertigen für das Programm übernommen, sollte also so aufgebaut sein):

```
FILENAME="D:\backupi\040222\Eigene Dateien\fom.txt"

line1 = "Fan 1 Spannung"
line2 = "Fan 2 Spannung"
line3 = "Fan 3 Spannung"
line4 = "Fan 4 Spannung"
line5 = "Fan 1 Drehzahl"
line6 = "Fan 2 Drehzahl"
line7 = "Fan 3 Drehzahl"
line8 = "Fan 4 Drehzahl"
line9 = "Durchfluss"
line10 = "Sensor 1"
line11 = "Sensor 2"
line12 = "Sensor 3"
line13 = "Sensor 4"
line14 = "Sensor 5"
line15 = "Sensor 6"
line16 = "12V Schiene"
line17 = "5V Schiene"

function Fan1Spannung()
	Fan1Spannung = getInfo(line1)
end function

function Fan2Spannung()
	Fan2Spannung = getInfo(line2)
end function

function Fan3Spannung()
	Fan3Spannung = getInfo(line3)
end function

function Fan4Spannung()
	Fan4Spannung = getInfo(line4)
end function
```

So, natürlich funktioniert das nicht aber ich hoffe irgendjemand kann mir weiter helfen.

Vielen dank schon mal, 
Gruss Patrick


----------



## PAHO (13. Juni 2004)

- So jetzt bin ich etwas weiter...nur werden mir die gesammten Zeilen ausgespuckt. Jetzt ist guter Rat teuer, oder ?  


```
FILENAME="D:\backupi\040222\Eigene Dateien\fom.txt"

line1 = "Fan 1 Spannung"
line2 = "Fan 2 Spannung"
line3 = "Fan 3 Spannung"
line4 = "Fan 4 Spannung"
line5 = "Fan 1 Drehzahl"
line6 = "Fan 2 Drehzahl"
line7 = "Fan 3 Drehzahl"
line8 = "Fan 4 Drehzahl"
line9 = "Durchfluss"
line10 = "Sensor 1"
line11 = "Sensor 2"
line12 = "Sensor 3"
line13 = "Sensor 4"
line14 = "Sensor 5"
line15 = "Sensor 6"
line16 = "12V Schiene"
line17 = "5V Schiene"

function Fan1Spannung()
	Fan1Spannung = getInfo(line1)
end function

function Fan2Spannung()
	Fan2Spannung = getInfo(line2)
end function

function Fan3Spannung()
	Fan3Spannung = getInfo(line3)
end function

function Fan4Spannung()
	Fan4Spannung = getInfo(line4)
end function

private function getInfo(text)
	information = readfile()
	getInfo = information
end function

private function readfile()

	Set fs = CreateObject ("Scripting.FileSystemObject")
        If (fs.FileExists(FILENAME)) Then
		Set filePath = fs.GetFile(FILENAME)
		set File = filePath.OpenAsTextStream (1, -2)

		info = file.readall

		File.Close

		Set filePath = nothing
		Set fs = nothing
		Set File = nothing

	Else 
		readfile = "Bad filename"
		Exit Function
        End If

	readFile = info
end function
```


----------



## Sven Mintel (14. Juni 2004)

Schau dir mal die Methoden SkipLine/ReadLine an.

Mit *SkipLine* kannst du eine Zeile weiterspringen, mit *ReadLine* eine einzelne Zeile lesen.
Du musst also nur solange per *SkipLine* in den Zeilen weiterspringen, bis du bei der betreffenden angelangt bist, um sie dann per *ReadLine* auszulesen.

Alternativ kannst du auch die Datei per *ReadAll* auslesen und dann anhand des Zeilenumbruchs *split*ten.
In dem daraus resultierenden Array hast du dann die einzelnen Zeilen der Datei....auf welche du dann bequem zugreifen kannst....wäre in deinem Fall wahrscheinlich die sinnvollere Vorgehensweise.


----------



## PAHO (14. Juni 2004)

Vielen dank, habs aber jetzt doch anders gelöst.

Gruss Patrick


----------

